Commit 86f697aa by Michael Collison Committed by Michael Collison

2018-02-06 Michael Collison <michael.collison@arm.com>

	* config/arm/thumb2.md:
	(*thumb2_mov_negscc): Split only if TARGET_THUMB2 && !arm_restrict_it.
	(*thumb_mov_notscc): Ditto.
	* gcc.target/arm/pr7676.c: New testcase.

From-SVN: r257430
parent 478a853e
2018-02-06 Michael Collison <michael.collison@arm.com>
* config/arm/thumb2.md:
(*thumb2_mov_negscc): Split only if TARGET_THUMB2 && !arm_restrict_it.
(*thumb_mov_notscc): Ditto.
2018-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> 2018-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/84154 PR target/84154
......
...@@ -362,7 +362,7 @@ ...@@ -362,7 +362,7 @@
[(match_operand 2 "cc_register" "") (const_int 0)])))] [(match_operand 2 "cc_register" "") (const_int 0)])))]
"TARGET_THUMB2 && !arm_restrict_it" "TARGET_THUMB2 && !arm_restrict_it"
"#" ; "ite\\t%D1\;mov%D1\\t%0, #0\;mvn%d1\\t%0, #0" "#" ; "ite\\t%D1\;mov%D1\\t%0, #0\;mvn%d1\\t%0, #0"
"TARGET_THUMB2" "&& true"
[(set (match_dup 0) [(set (match_dup 0)
(if_then_else:SI (match_dup 1) (if_then_else:SI (match_dup 1)
(match_dup 3) (match_dup 3)
...@@ -410,7 +410,7 @@ ...@@ -410,7 +410,7 @@
[(match_operand 2 "cc_register" "") (const_int 0)])))] [(match_operand 2 "cc_register" "") (const_int 0)])))]
"TARGET_THUMB2 && !arm_restrict_it" "TARGET_THUMB2 && !arm_restrict_it"
"#" ; "ite\\t%D1\;mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1" "#" ; "ite\\t%D1\;mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
"TARGET_THUMB2" "&& true"
[(set (match_dup 0) [(set (match_dup 0)
(if_then_else:SI (match_dup 1) (if_then_else:SI (match_dup 1)
(match_dup 3) (match_dup 3)
......
2018-02-06 Michael Collison <michael.collison@arm.com>
* gcc.target/arm/pr7676.c: New testcase for incorrect splitting.
2018-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2018-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/safe-indirect-jump-1.c: Detect deprecation * gcc.target/powerpc/safe-indirect-jump-1.c: Detect deprecation
......
/* { dg-do compile } */
/* { dg-options "-O1 -march=armv8-a -mfloat-abi=soft -mthumb" } */
/* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} {"-mfloat-abi=hard" -mfloat-abi=softfp } {""} } */
int a;
void fn2 (long long);
void
fn1 ()
{
long long b;
for (;;)
{
b = ((a == (int)&fn1) <= 0 ^ 18446744073709551608ULL)
- 18446744073709551615ULL;
fn2 (b);
}
}
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