mirror of git://gcc.gnu.org/git/gcc.git
i386: do not use SImode mul-highpart on 64-bit (PR 82418)
PR target/82418 * config/i386/i386.md (<s>mul<mode>3_highpart): Use DWIH mode iterator instead of SWI48. testsuite/ * gcc.target/i386/pr82418.c: New test. From-SVN: r263467
This commit is contained in:
parent
1e9168b279
commit
f80d6a178e
|
|
@ -1,3 +1,9 @@
|
|||
2018-08-10 Alexander Monakov <amonakov@ispras.ru>
|
||||
|
||||
PR target/82418
|
||||
* config/i386/i386.md (<s>mul<mode>3_highpart): Use DWIH mode iterator
|
||||
instead of SWI48.
|
||||
|
||||
2018-08-10 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR target/83610
|
||||
|
|
|
|||
|
|
@ -7792,16 +7792,16 @@
|
|||
(set_attr "mode" "QI")])
|
||||
|
||||
(define_expand "<s>mul<mode>3_highpart"
|
||||
[(parallel [(set (match_operand:SWI48 0 "register_operand")
|
||||
(truncate:SWI48
|
||||
[(parallel [(set (match_operand:DWIH 0 "register_operand")
|
||||
(truncate:DWIH
|
||||
(lshiftrt:<DWI>
|
||||
(mult:<DWI>
|
||||
(any_extend:<DWI>
|
||||
(match_operand:SWI48 1 "nonimmediate_operand"))
|
||||
(match_operand:DWIH 1 "nonimmediate_operand"))
|
||||
(any_extend:<DWI>
|
||||
(match_operand:SWI48 2 "register_operand")))
|
||||
(match_operand:DWIH 2 "register_operand")))
|
||||
(match_dup 3))))
|
||||
(clobber (match_scratch:SWI48 4))
|
||||
(clobber (match_scratch:DWIH 4))
|
||||
(clobber (reg:CC FLAGS_REG))])]
|
||||
""
|
||||
"operands[3] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));")
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2018-08-10 Alexander Monakov <amonakov@ispras.ru>
|
||||
|
||||
PR target/82418
|
||||
* gcc.target/i386/pr82418.c: New test.
|
||||
|
||||
2018-08-10 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR target/83610
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
/* PR target/82418 */
|
||||
/* { dg-do compile { target { ! ia32 } } } */
|
||||
/* { dg-options "-O2" } */
|
||||
/* { dg-final { scan-assembler "imul\[^\n\r]*1374389535" } } */
|
||||
|
||||
unsigned
|
||||
f1(unsigned x)
|
||||
{
|
||||
return x / 100;
|
||||
}
|
||||
Loading…
Reference in New Issue