This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Why doesn't match_asm_constraints_1 check constraints?
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Date: Sun, 16 Jan 2011 15:31:25 -0800
- Subject: Why doesn't match_asm_constraints_1 check constraints?
Hi,
While working on x32 port, I noticed that match_asm_constraints_1 turns
(insn 41 58 46 2 y.i:573 (set (reg/f:SI 98)
(symbol_ref/f:SI ("*.LC1") [flags 0x2] <string_cst
0x7f3dc64880f0>)) 48 {*movsi_1_load_x32} (nil))
...
(insn 42 40 43 7 y.i:573 (set (mem/s/f:SI (plus:DI (reg/f:DI 20 frame)
(const_int -32 [0xffffffffffffffe0])) [3
<variable>.iov_base+0 S4 A128])
(reg/f:SI 98)) 49 {*movsi_1_store_x32} (expr_list:REG_EQUAL
(symbol_ref/f:SI ("*.LC1") [flags 0x2] <string_cst 0x7f3dc64880f0>)
(nil)))
into
(insn 42 40 43 7 y.i:573 (set (mem/s/f:SI (plus:DI (reg/f:DI 20 frame)
(const_int -32 [0xffffffffffffffe0])) [3
<variable>.iov_base+0 S4 A128])
(reg/f:SI 98)) 49 {*movsi_1_store_x32} (expr_list:REG_EQUAL
(symbol_ref/f:SI ("*.LC1") [flags 0x2] <string_cst 0x7f3dc64880f0>)
(nil)))
I have disabled such pattern for x32. Is there a way to tell
match_asm_constraints_1 not to
generate invalid pattern?
Thanks.
--
H.J.