mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 08:43:26 +08:00
re PR target/65163 ([SH] ICE in decompose at rtl.h:2007)
gcc/ PR target/65163 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 instead of const_int 4294901760. gcc/testsuite/ PR target/65163 * gcc.c-torture/compile/pr65163.c: New. From-SVN: r220916
This commit is contained in:
parent
b6530d0a50
commit
2c6a427ff9
@ -1,3 +1,9 @@
|
||||
2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
PR target/65163
|
||||
* config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
|
||||
instead of const_int 4294901760.
|
||||
|
||||
2015-02-23 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
* config/avr/t-avr: Fix typo in comment.
|
||||
|
@ -6218,7 +6218,7 @@ label:
|
||||
(define_insn "swapbsi2"
|
||||
[(set (match_operand:SI 0 "arith_reg_dest" "=r")
|
||||
(ior:SI (and:SI (match_operand:SI 1 "arith_reg_operand" "r")
|
||||
(const_int 4294901760))
|
||||
(const_int -65536)) ;; 0xFFFF0000
|
||||
(ior:SI (and:SI (ashift:SI (match_dup 1) (const_int 8))
|
||||
(const_int 65280))
|
||||
(and:SI (ashiftrt:SI (match_dup 1) (const_int 8))
|
||||
@ -6286,7 +6286,7 @@ label:
|
||||
(define_peephole2
|
||||
[(set (match_operand:SI 0 "arith_reg_dest" "")
|
||||
(ior:SI (and:SI (match_operand:SI 1 "arith_reg_operand" "")
|
||||
(const_int 4294901760))
|
||||
(const_int -65536)) ;; 0xFFFF0000
|
||||
(ior:SI (and:SI (ashift:SI (match_dup 1) (const_int 8))
|
||||
(const_int 65280))
|
||||
(and:SI (ashiftrt:SI (match_dup 1) (const_int 8))
|
||||
@ -6296,7 +6296,7 @@ label:
|
||||
"TARGET_SH1 && peep2_reg_dead_p (2, operands[0])"
|
||||
[(set (match_dup 2)
|
||||
(ior:SI (and:SI (match_operand:SI 1 "arith_reg_operand" "")
|
||||
(const_int 4294901760))
|
||||
(const_int -65536)) ;; 0xFFFF0000
|
||||
(ior:SI (and:SI (ashift:SI (match_dup 1) (const_int 8))
|
||||
(const_int 65280))
|
||||
(and:SI (ashiftrt:SI (match_dup 1) (const_int 8))
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
PR target/65163
|
||||
* gcc.c-torture/compile/pr65163.c: New.
|
||||
|
||||
2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work
|
||||
|
22
gcc/testsuite/gcc.c-torture/compile/pr65163.c
Normal file
22
gcc/testsuite/gcc.c-torture/compile/pr65163.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* PR target/65163 */
|
||||
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned short uint16_t;
|
||||
union unaligned_32 { uint32_t l; } __attribute__((packed));
|
||||
union unaligned_16 { uint16_t l; } __attribute__((packed));
|
||||
|
||||
int
|
||||
test_00 (unsigned char* buf, int bits_per_component)
|
||||
{
|
||||
(((union unaligned_32*)(buf))->l) =
|
||||
__builtin_bswap32 (bits_per_component == 10 ? 1 : 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
test_01 (unsigned char* buf, int bits_per_component)
|
||||
{
|
||||
(((union unaligned_16*)(buf))->l) =
|
||||
__builtin_bswap16 (bits_per_component == 10 ? 1 : 0);
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user