re PR target/46883 (GCC ICE with error: unrecognizable insn)
2010-12-16 Chung-Lin Tang <cltang@codesourcery.com> PR target/46883 * config/arm/arm.md (zero_extendhisi2 for register input splitter): Change "register_operand" to "s_register_operand". (zero_extendqisi2 for register input splitter): Same. testsuite/ * gcc.target/arm/pr46883.c: New testcase. From-SVN: r167900
This commit is contained in:
parent
f80d990e91
commit
5acb7dec00
4 changed files with 33 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
|||
2010-12-16 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
PR target/46883
|
||||
* config/arm/arm.md
|
||||
(zero_extendhisi2 for register input splitter): Change
|
||||
"register_operand" to "s_register_operand".
|
||||
(zero_extendqisi2 for register input splitter): Same.
|
||||
|
||||
2010-12-16 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/46939
|
||||
|
|
|
@ -4137,8 +4137,8 @@
|
|||
})
|
||||
|
||||
(define_split
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
|
||||
[(set (match_operand:SI 0 "s_register_operand" "")
|
||||
(zero_extend:SI (match_operand:HI 1 "s_register_operand" "")))]
|
||||
"!TARGET_THUMB2 && !arm_arch6"
|
||||
[(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 16)))
|
||||
(set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 16)))]
|
||||
|
@ -4244,8 +4244,8 @@
|
|||
})
|
||||
|
||||
(define_split
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(zero_extend:SI (match_operand:QI 1 "register_operand" "")))]
|
||||
[(set (match_operand:SI 0 "s_register_operand" "")
|
||||
(zero_extend:SI (match_operand:QI 1 "s_register_operand" "")))]
|
||||
"!arm_arch6"
|
||||
[(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 24)))
|
||||
(set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 24)))]
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-12-16 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
PR target/46883
|
||||
* gcc.target/arm/pr46883.c: New testcase.
|
||||
|
||||
2010-12-16 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR lto/46976
|
||||
|
|
16
gcc/testsuite/gcc.target/arm/pr46883.c
Normal file
16
gcc/testsuite/gcc.target/arm/pr46883.c
Normal file
|
@ -0,0 +1,16 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O1 -march=armv5te" } */
|
||||
|
||||
void bar (unsigned char *q, unsigned short *data16s, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
q[2 * i] =
|
||||
(((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF)) & 0xFF;
|
||||
q[2 * i + 1] =
|
||||
((unsigned short)
|
||||
(((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF))) >> 8;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue