[patch][aarch64]: fix unrecognizable insn for ldr got in ilp32 tiny
Wilco Dijkstra
Wilco.Dijkstra@arm.com
Thu Jun 13 17:41:00 GMT 2019
Hi Sylvia,
-(define_insn "ldr_got_tiny"
+(define_insn "ldr_got_tiny_di"
[(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "aarch64_valid_symref" "S")]
- UNSPEC_GOTTINYPIC))]
+ (unspec:DI
+ [(match_operand:DI 1 "aarch64_valid_symref" "S")]
+ UNSPEC_GOTTINYPIC))]
""
"ldr\\t%0, %L1"
[(set_attr "type" "load_8")]
)
+(define_insn "ldr_got_tiny_si"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (unspec:SI
+ [(match_operand:SI 1 "aarch64_valid_symref" "S")]
+ UNSPEC_GOTTINYPIC))]
+ "TARGET_ILP32"
+ "ldr\\t%0, %L1"
+ [(set_attr "type" "load_4")]
+)
These can be easily combined like the related ldr_got_small_<mode>.
Wilco
More information about the Gcc-patches
mailing list