Commit 84d289d4 by Michael Collison Committed by Michael Collison

revert: arm.md (*arm_smin_cmp): New pattern.

2015-11-06  Michael Collison  <michael.collison@linaro.org
	    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	Revert:
	2015-08-01  Michael Collison  <michael.collison@linaro.org
		    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/arm.md (*arm_smin_cmp): New pattern.
	(*arm_umin_cmp): Likewise.

2015-11-06  Michael Collison  <michael.collison@linaro.org
	    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	Revert:
	2015-08-01  Michael Collison  <michael.collison@linaro.org
		    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* gcc.target/arm/mincmp.c: New test.

From-SVN: r229895
parent 11c7f788
2015-11-06 Michael Collison <michael.collison@linaro.org
Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
Revert:
2015-08-01 Michael Collison <michael.collison@linaro.org
Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/arm.md (*arm_smin_cmp): New pattern.
(*arm_umin_cmp): Likewise.
2015-11-06 Jakub Jelinek <jakub@redhat.com>
* gimplify.c (gimplify_omp_ordered): Fix up diagnostics
......@@ -3455,44 +3455,6 @@
(set_attr "type" "multiple,multiple")]
)
;; t = (s/u)min (x, y)
;; cc = cmp (t, z)
;; is the same as
;; cmp x, z
;; cmpge(u) y, z
(define_insn_and_split "*arm_smin_cmp"
[(set (reg:CC CC_REGNUM)
(compare:CC
(smin:SI (match_operand:SI 0 "s_register_operand" "r")
(match_operand:SI 1 "s_register_operand" "r"))
(match_operand:SI 2 "s_register_operand" "r")))]
"TARGET_32BIT"
"#"
"&& reload_completed"
[(set (reg:CC CC_REGNUM)
(compare:CC (match_dup 0) (match_dup 2)))
(cond_exec (ge:CC (reg:CC CC_REGNUM) (const_int 0))
(set (reg:CC CC_REGNUM)
(compare:CC (match_dup 1) (match_dup 2))))]
)
(define_insn_and_split "*arm_umin_cmp"
[(set (reg:CC CC_REGNUM)
(compare:CC
(umin:SI (match_operand:SI 0 "s_register_operand" "r")
(match_operand:SI 1 "s_register_operand" "r"))
(match_operand:SI 2 "s_register_operand" "r")))]
"TARGET_32BIT"
"#"
"&& reload_completed"
[(set (reg:CC CC_REGNUM)
(compare:CC (match_dup 0) (match_dup 2)))
(cond_exec (geu:CC (reg:CC CC_REGNUM) (const_int 0))
(set (reg:CC CC_REGNUM)
(compare:CC (match_dup 1) (match_dup 2))))]
)
(define_expand "umaxsi3"
[(parallel [
(set (match_operand:SI 0 "s_register_operand" "")
......
2015-11-06 Michael Collison <michael.collison@linaro.org
Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
Revert:
2015-08-01 Michael Collison <michael.collison@linaro.org
Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* gcc.target/arm/mincmp.c: New test.
2015-11-06 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/54224
......
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-require-effective-target arm32 } */
#define min(x, y) ((x) <= (y)) ? (x) : (y)
unsigned int
foo (unsigned int i, unsigned int x, unsigned int y)
{
return i < (min (x, y));
}
int
bar (int i, int x, int y)
{
return i < (min (x, y));
}
/* { dg-final { scan-assembler "cmpcs" } } */
/* { dg-final { scan-assembler "cmpge" } } */
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