re PR target/50099 (ICE: internal compiler error: in extract_insn, at recog.c:2113 while building lttng-ust)
Fix PR target/50099 From-SVN: r179378
This commit is contained in:
parent
8a58edc29d
commit
8d4f1548bd
|
@ -1,3 +1,12 @@
|
|||
2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
||||
|
||||
PR target/50099
|
||||
* config/arm/iterators.md (qhs_zextenddi_cstr): New.
|
||||
(qhs_zextenddi_op): New.
|
||||
* config/arm/arm.md ("zero_extend<mode>di2"): Use them.
|
||||
* config/arm/predicates.md ("arm_extendqisi_mem_op"):
|
||||
Distinguish between ARM and Thumb2 states.
|
||||
|
||||
2011-09-30 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* config/sparc/sparc.opt (VIS2): New option.
|
||||
|
|
|
@ -4389,8 +4389,8 @@
|
|||
|
||||
(define_insn "zero_extend<mode>di2"
|
||||
[(set (match_operand:DI 0 "s_register_operand" "=r")
|
||||
(zero_extend:DI (match_operand:QHSI 1 "<qhs_extenddi_op>"
|
||||
"<qhs_extenddi_cstr>")))]
|
||||
(zero_extend:DI (match_operand:QHSI 1 "<qhs_zextenddi_op>"
|
||||
"<qhs_zextenddi_cstr>")))]
|
||||
"TARGET_32BIT <qhs_zextenddi_cond>"
|
||||
"#"
|
||||
[(set_attr "length" "8")
|
||||
|
|
|
@ -390,10 +390,14 @@
|
|||
(define_mode_attr qhs_zextenddi_cond [(SI "") (HI "&& arm_arch6") (QI "")])
|
||||
(define_mode_attr qhs_sextenddi_cond [(SI "") (HI "&& arm_arch6")
|
||||
(QI "&& arm_arch6")])
|
||||
(define_mode_attr qhs_extenddi_op [(SI "s_register_operand")
|
||||
(define_mode_attr qhs_zextenddi_op [(SI "s_register_operand")
|
||||
(HI "nonimmediate_operand")
|
||||
(QI "nonimmediate_operand")])
|
||||
(define_mode_attr qhs_extenddi_cstr [(SI "r") (HI "rm") (QI "rm")])
|
||||
(define_mode_attr qhs_extenddi_op [(SI "s_register_operand")
|
||||
(HI "nonimmediate_operand")
|
||||
(QI "arm_reg_or_extendqisi_mem_op")])
|
||||
(define_mode_attr qhs_extenddi_cstr [(SI "r") (HI "rm") (QI "rUq")])
|
||||
(define_mode_attr qhs_zextenddi_cstr [(SI "r") (HI "rm") (QI "rm")])
|
||||
|
||||
;; Mode attributes used for fixed-point support.
|
||||
(define_mode_attr qaddsub_suf [(V4UQQ "8") (V2UHQ "16") (UQQ "8") (UHQ "16")
|
||||
|
|
|
@ -301,8 +301,11 @@
|
|||
|
||||
(define_special_predicate "arm_extendqisi_mem_op"
|
||||
(and (match_operand 0 "memory_operand")
|
||||
(match_test "arm_legitimate_address_outer_p (mode, XEXP (op, 0),
|
||||
SIGN_EXTEND, 0)")))
|
||||
(match_test "TARGET_ARM ? arm_legitimate_address_outer_p (mode,
|
||||
XEXP (op, 0),
|
||||
SIGN_EXTEND,
|
||||
0)
|
||||
: memory_address_p (QImode, XEXP (op, 0))")))
|
||||
|
||||
(define_special_predicate "arm_reg_or_extendqisi_mem_op"
|
||||
(ior (match_operand 0 "arm_extendqisi_mem_op")
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
||||
|
||||
* gcc.target/arm/pr50099.c: New test.
|
||||
|
||||
2011-09-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* gcc.target/arm/pr42835.c: Add -fno-tree-tail-merge.
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
long long foo (signed char * arg)
|
||||
{
|
||||
long long temp_1;
|
||||
|
||||
temp_1 = arg[256];
|
||||
return temp_1;
|
||||
}
|
Loading…
Reference in New Issue