re PR target/22093 (Unaligned access to HI values causes unrecognizable insn error)
PR target/22093 * config/alpha/alpha.md (unaligned_storehi_be): Force operand of plus RTX into register. testsuite/ChangeLog: PR target/22093 * gcc.target/alpha/pr22093.c: New test. From-SVN: r152343
This commit is contained in:
parent
9332b7a302
commit
916f964b5b
|
@ -1,8 +1,14 @@
|
|||
2009-09-30 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/22093
|
||||
* config/alpha/alpha.md (unaligned_storehi_be): Force operand
|
||||
of plus RTX into register.
|
||||
|
||||
2009-09-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* config/s390/fixdfdi.h: Add Runtime Library Exception wording to
|
||||
the License text.
|
||||
|
||||
|
||||
2009-09-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* tree-vect-transform.c (vectorizable_call): Call
|
||||
|
|
|
@ -5999,7 +5999,7 @@
|
|||
(mem:DI (and:DI (match_operand:DI 0 "address_operand" "")
|
||||
(const_int -8))))
|
||||
(set (match_operand:DI 2 "register_operand" "")
|
||||
(plus:DI (match_dup 0) (const_int 1)))
|
||||
(plus:DI (match_dup 5) (const_int 1)))
|
||||
(set (match_dup 3)
|
||||
(and:DI (not:DI (ashift:DI
|
||||
(const_int 65535)
|
||||
|
@ -6014,7 +6014,7 @@
|
|||
(set (mem:DI (and:DI (match_dup 0) (const_int -8)))
|
||||
(match_dup 4))]
|
||||
"WORDS_BIG_ENDIAN"
|
||||
"")
|
||||
"operands[5] = force_reg (DImode, operands[0]);")
|
||||
|
||||
;; Here are the define_expand's for QI and HI moves that use the above
|
||||
;; patterns. We have the normal sets, plus the ones that need scratch
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-09-30 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/22093
|
||||
* gcc.target/alpha/pr22093.c: New test.
|
||||
|
||||
2009-09-28 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* gnat.dg (tagged_alloc_free.adb): New testcase.
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
struct shared_ptr_struct
|
||||
{
|
||||
unsigned long phase : 48;
|
||||
unsigned thread : 16;
|
||||
void *addr;
|
||||
} x;
|
||||
|
||||
void foo (void)
|
||||
{
|
||||
x.thread = 2;
|
||||
}
|
Loading…
Reference in New Issue