1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=hexagon -hexagon-expand-condsets=0 < %s | FileCheck %s 3 4define <4 x i8> @f0(<4 x i8> %a0, <4 x i8> %a1, i32 %a2) #0 { 5; CHECK-LABEL: f0: 6; CHECK: // %bb.0: 7; CHECK-NEXT: { 8; CHECK-NEXT: p0 = cmp.eq(r2,#0) 9; CHECK-NEXT: } 10; CHECK-NEXT: { 11; CHECK-NEXT: r0 = mux(p0,r0,r1) 12; CHECK-NEXT: jumpr r31 13; CHECK-NEXT: } 14 %v0 = icmp eq i32 %a2, 0 15 %v1 = select i1 %v0, <4 x i8> %a0, <4 x i8> %a1 16 ret <4 x i8> %v1 17} 18 19define <8 x i8> @f1(<8 x i8> %a0, <8 x i8> %a1, i32 %a2) #0 { 20; CHECK-LABEL: f1: 21; CHECK: // %bb.0: 22; CHECK-NEXT: { 23; CHECK-NEXT: p0 = cmp.eq(r4,#0) 24; CHECK-NEXT: } 25; CHECK-NEXT: { 26; CHECK-NEXT: r0 = mux(p0,r0,r2) 27; CHECK-NEXT: jumpr r31 28; CHECK-NEXT: r1 = mux(p0,r1,r3) 29; CHECK-NEXT: } 30 %v0 = icmp eq i32 %a2, 0 31 %v1 = select i1 %v0, <8 x i8> %a0, <8 x i8> %a1 32 ret <8 x i8> %v1 33} 34 35define <2 x i16> @f2(<2 x i16> %a0, <2 x i16> %a1, i32 %a2) #0 { 36; CHECK-LABEL: f2: 37; CHECK: // %bb.0: 38; CHECK-NEXT: { 39; CHECK-NEXT: p0 = cmp.eq(r2,#0) 40; CHECK-NEXT: } 41; CHECK-NEXT: { 42; CHECK-NEXT: r0 = mux(p0,r0,r1) 43; CHECK-NEXT: jumpr r31 44; CHECK-NEXT: } 45 %v0 = icmp eq i32 %a2, 0 46 %v1 = select i1 %v0, <2 x i16> %a0, <2 x i16> %a1 47 ret <2 x i16> %v1 48} 49 50define <4 x i16> @f3(<4 x i16> %a0, <4 x i16> %a1, i32 %a2) #0 { 51; CHECK-LABEL: f3: 52; CHECK: // %bb.0: 53; CHECK-NEXT: { 54; CHECK-NEXT: p0 = cmp.eq(r4,#0) 55; CHECK-NEXT: } 56; CHECK-NEXT: { 57; CHECK-NEXT: r0 = mux(p0,r0,r2) 58; CHECK-NEXT: jumpr r31 59; CHECK-NEXT: r1 = mux(p0,r1,r3) 60; CHECK-NEXT: } 61 %v0 = icmp eq i32 %a2, 0 62 %v1 = select i1 %v0, <4 x i16> %a0, <4 x i16> %a1 63 ret <4 x i16> %v1 64} 65 66define <2 x i32> @f4(<2 x i32> %a0, <2 x i32> %a1, i32 %a2) #0 { 67; CHECK-LABEL: f4: 68; CHECK: // %bb.0: 69; CHECK-NEXT: { 70; CHECK-NEXT: p0 = cmp.eq(r4,#0) 71; CHECK-NEXT: } 72; CHECK-NEXT: { 73; CHECK-NEXT: r0 = mux(p0,r0,r2) 74; CHECK-NEXT: jumpr r31 75; CHECK-NEXT: r1 = mux(p0,r1,r3) 76; CHECK-NEXT: } 77 %v0 = icmp eq i32 %a2, 0 78 %v1 = select i1 %v0, <2 x i32> %a0, <2 x i32> %a1 79 ret <2 x i32> %v1 80} 81 82attributes #0 = { nounwind } 83