diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-06-09 19:06:30 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-06-09 19:06:30 +0000 |
| commit | 85d8b2bbe386bcfe669575d05b61482d7be07e5d (patch) | |
| tree | 1dc5e75ab222a9ead44c699eceafab7a6ca7b310 /test/CodeGen/AArch64/minmax.ll | |
| parent | 5a5ac124e1efaf208671f01c46edb15f29ed2a0b (diff) | |
Notes
Diffstat (limited to 'test/CodeGen/AArch64/minmax.ll')
| -rw-r--r-- | test/CodeGen/AArch64/minmax.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/AArch64/minmax.ll b/test/CodeGen/AArch64/minmax.ll index a6b5adebe107..df4912ca1f7a 100644 --- a/test/CodeGen/AArch64/minmax.ll +++ b/test/CodeGen/AArch64/minmax.ll @@ -94,3 +94,14 @@ define <16 x i32> @t11(<16 x i32> %a, <16 x i32> %b) { %t2 = select <16 x i1> %t1, <16 x i32> %a, <16 x i32> %b ret <16 x i32> %t2 } + +; CHECK-LABEL: t12 +; CHECK-NOT: umin +; The icmp is used by two instructions, so don't produce a umin node. +define <16 x i8> @t12(<16 x i8> %a, <16 x i8> %b) { + %t1 = icmp ugt <16 x i8> %b, %a + %t2 = select <16 x i1> %t1, <16 x i8> %a, <16 x i8> %b + %t3 = zext <16 x i1> %t1 to <16 x i8> + %t4 = add <16 x i8> %t3, %t2 + ret <16 x i8> %t4 +} |
