Commit 16621f0d by Richard Earnshaw Committed by Richard Earnshaw

aarch64 - PR target/86887 Fix missing register constraints in carryin patterns

Some of the carryin insn patterns are missing a register constraint.
That means that the register allocator can pick practically anything
to hold that value, including memory locations, or registers of the
wrong class.

	PR target/86887
	* config/aarch64/aarch64.md (add<mode>3_carryinC_zero): Add missing
	register constraint to operand 0.
	(add<mode>3_carryinC): Likewise.
	(add<mode>3_carryinV_zero, add<mode>3_carryinV): Likewise.

From-SVN: r263446
parent 40c27f7d
2018-08-09 Richard Earnshaw <rearnsha@arm.com>
PR target/86887
* config/aarch64/aarch64.md (add<mode>3_carryinC_zero): Add missing
register constraint to operand 0.
(add<mode>3_carryinC): Likewise.
(add<mode>3_carryinV_zero, add<mode>3_carryinV): Likewise.
2018-08-09 Martin Liska <mliska@suse.cz>
PR c/86895
......
......@@ -2451,7 +2451,7 @@
(plus:GPI
(match_operand:GPI 3 "aarch64_carry_operation" "")
(match_dup 1)))))
(set (match_operand:GPI 0 "register_operand")
(set (match_operand:GPI 0 "register_operand" "=r")
(plus:GPI (match_dup 3) (match_dup 1)))]
""
"adcs\\t%<w>0, %<w>1, <w>zr"
......@@ -2472,7 +2472,7 @@
(match_operand:GPI 4 "aarch64_carry_operation" "")
(match_dup 1))
(match_dup 2)))))
(set (match_operand:GPI 0 "register_operand")
(set (match_operand:GPI 0 "register_operand" "=r")
(plus:GPI
(plus:GPI (match_dup 4) (match_dup 1))
(match_dup 2)))]
......@@ -2517,7 +2517,7 @@
(plus:GPI
(match_operand:GPI 3 "aarch64_carry_operation" "")
(match_dup 1)))))
(set (match_operand:GPI 0 "register_operand")
(set (match_operand:GPI 0 "register_operand" "=r")
(plus:GPI (match_dup 3) (match_dup 1)))]
""
"adcs\\t%<w>0, %<w>1, <w>zr"
......@@ -2538,7 +2538,7 @@
(match_operand:GPI 4 "aarch64_carry_operation" "")
(match_dup 1))
(match_dup 2)))))
(set (match_operand:GPI 0 "register_operand")
(set (match_operand:GPI 0 "register_operand" "=r")
(plus:GPI
(plus:GPI (match_dup 4) (match_dup 1))
(match_dup 2)))]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment