brintos

brintos / llvm-project-archived public Read only

0
0
Text · 23.6 KiB · 295ef11 Raw
704 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s3 4 5; <256 x float>6 7; Function Attrs: nounwind8define fastcc <256 x i1> @fcmp_false_vv_v256f32(<256 x float> %x, <256 x float> %y) {9; CHECK-LABEL: fcmp_false_vv_v256f32:10; CHECK:       # %bb.0:11; CHECK-NEXT:    xorm %vm1, %vm0, %vm012; CHECK-NEXT:    b.l.t (, %s10)13  %z = fcmp false <256 x float> %x, %y14  ret <256 x i1> %z15}16 17; Function Attrs: nounwind18define fastcc <256 x i1> @fcmp_false_sv_v256f32(float %x, <256 x float> %y) {19; CHECK-LABEL: fcmp_false_sv_v256f32:20; CHECK:       # %bb.0:21; CHECK-NEXT:    xorm %vm1, %vm0, %vm022; CHECK-NEXT:    b.l.t (, %s10)23  %xins = insertelement <256 x float> undef, float %x, i32 024  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer25  %z = fcmp false <256 x float> %vx, %y26  ret <256 x i1> %z27}28 29; Function Attrs: nounwind30define fastcc <256 x i1> @fcmp_false_vs_v256f32(<256 x float> %x, float %y) {31; CHECK-LABEL: fcmp_false_vs_v256f32:32; CHECK:       # %bb.0:33; CHECK-NEXT:    xorm %vm1, %vm0, %vm034; CHECK-NEXT:    b.l.t (, %s10)35  %yins = insertelement <256 x float> undef, float %y, i32 036  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer37  %z = fcmp false <256 x float> %x, %vy38  ret <256 x i1> %z39}40 41; Function Attrs: nounwind42define fastcc <256 x i1> @fcmp_oeq_vv_v256f32(<256 x float> %x, <256 x float> %y) {43; CHECK-LABEL: fcmp_oeq_vv_v256f32:44; CHECK:       # %bb.0:45; CHECK-NEXT:    lea %s0, 25646; CHECK-NEXT:    lvl %s047; CHECK-NEXT:    vfcmp.s %v0, %v0, %v148; CHECK-NEXT:    vfmk.s.eq %vm1, %v049; CHECK-NEXT:    b.l.t (, %s10)50  %z = fcmp oeq <256 x float> %x, %y51  ret <256 x i1> %z52}53 54; Function Attrs: nounwind55define fastcc <256 x i1> @fcmp_oeq_sv_v256f32(float %x, <256 x float> %y) {56; CHECK-LABEL: fcmp_oeq_sv_v256f32:57; CHECK:       # %bb.0:58; CHECK-NEXT:    lea %s1, 25659; CHECK-NEXT:    lvl %s160; CHECK-NEXT:    vbrd %v1, %s061; CHECK-NEXT:    vfcmp.s %v0, %v1, %v062; CHECK-NEXT:    vfmk.s.eq %vm1, %v063; CHECK-NEXT:    b.l.t (, %s10)64  %xins = insertelement <256 x float> undef, float %x, i32 065  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer66  %z = fcmp oeq <256 x float> %vx, %y67  ret <256 x i1> %z68}69 70; Function Attrs: nounwind71define fastcc <256 x i1> @fcmp_oeq_vs_v256f32(<256 x float> %x, float %y) {72; CHECK-LABEL: fcmp_oeq_vs_v256f32:73; CHECK:       # %bb.0:74; CHECK-NEXT:    lea %s1, 25675; CHECK-NEXT:    lvl %s176; CHECK-NEXT:    vbrd %v1, %s077; CHECK-NEXT:    vfcmp.s %v0, %v0, %v178; CHECK-NEXT:    vfmk.s.eq %vm1, %v079; CHECK-NEXT:    b.l.t (, %s10)80  %yins = insertelement <256 x float> undef, float %y, i32 081  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer82  %z = fcmp oeq <256 x float> %x, %vy83  ret <256 x i1> %z84}85 86; Function Attrs: nounwind87define fastcc <256 x i1> @fcmp_ogt_vv_v256f32(<256 x float> %x, <256 x float> %y) {88; CHECK-LABEL: fcmp_ogt_vv_v256f32:89; CHECK:       # %bb.0:90; CHECK-NEXT:    lea %s0, 25691; CHECK-NEXT:    lvl %s092; CHECK-NEXT:    vfcmp.s %v0, %v0, %v193; CHECK-NEXT:    vfmk.s.gt %vm1, %v094; CHECK-NEXT:    b.l.t (, %s10)95  %z = fcmp ogt <256 x float> %x, %y96  ret <256 x i1> %z97}98 99; Function Attrs: nounwind100define fastcc <256 x i1> @fcmp_ogt_sv_v256f32(float %x, <256 x float> %y) {101; CHECK-LABEL: fcmp_ogt_sv_v256f32:102; CHECK:       # %bb.0:103; CHECK-NEXT:    lea %s1, 256104; CHECK-NEXT:    lvl %s1105; CHECK-NEXT:    vbrd %v1, %s0106; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0107; CHECK-NEXT:    vfmk.s.gt %vm1, %v0108; CHECK-NEXT:    b.l.t (, %s10)109  %xins = insertelement <256 x float> undef, float %x, i32 0110  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer111  %z = fcmp ogt <256 x float> %vx, %y112  ret <256 x i1> %z113}114 115; Function Attrs: nounwind116define fastcc <256 x i1> @fcmp_ogt_vs_v256f32(<256 x float> %x, float %y) {117; CHECK-LABEL: fcmp_ogt_vs_v256f32:118; CHECK:       # %bb.0:119; CHECK-NEXT:    lea %s1, 256120; CHECK-NEXT:    lvl %s1121; CHECK-NEXT:    vbrd %v1, %s0122; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1123; CHECK-NEXT:    vfmk.s.gt %vm1, %v0124; CHECK-NEXT:    b.l.t (, %s10)125  %yins = insertelement <256 x float> undef, float %y, i32 0126  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer127  %z = fcmp ogt <256 x float> %x, %vy128  ret <256 x i1> %z129}130 131; Function Attrs: nounwind132define fastcc <256 x i1> @fcmp_oge_vv_v256f32(<256 x float> %x, <256 x float> %y) {133; CHECK-LABEL: fcmp_oge_vv_v256f32:134; CHECK:       # %bb.0:135; CHECK-NEXT:    lea %s0, 256136; CHECK-NEXT:    lvl %s0137; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1138; CHECK-NEXT:    vfmk.s.ge %vm1, %v0139; CHECK-NEXT:    b.l.t (, %s10)140  %z = fcmp oge <256 x float> %x, %y141  ret <256 x i1> %z142}143 144; Function Attrs: nounwind145define fastcc <256 x i1> @fcmp_oge_sv_v256f32(float %x, <256 x float> %y) {146; CHECK-LABEL: fcmp_oge_sv_v256f32:147; CHECK:       # %bb.0:148; CHECK-NEXT:    lea %s1, 256149; CHECK-NEXT:    lvl %s1150; CHECK-NEXT:    vbrd %v1, %s0151; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0152; CHECK-NEXT:    vfmk.s.ge %vm1, %v0153; CHECK-NEXT:    b.l.t (, %s10)154  %xins = insertelement <256 x float> undef, float %x, i32 0155  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer156  %z = fcmp oge <256 x float> %vx, %y157  ret <256 x i1> %z158}159 160; Function Attrs: nounwind161define fastcc <256 x i1> @fcmp_oge_vs_v256f32(<256 x float> %x, float %y) {162; CHECK-LABEL: fcmp_oge_vs_v256f32:163; CHECK:       # %bb.0:164; CHECK-NEXT:    lea %s1, 256165; CHECK-NEXT:    lvl %s1166; CHECK-NEXT:    vbrd %v1, %s0167; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1168; CHECK-NEXT:    vfmk.s.ge %vm1, %v0169; CHECK-NEXT:    b.l.t (, %s10)170  %yins = insertelement <256 x float> undef, float %y, i32 0171  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer172  %z = fcmp oge <256 x float> %x, %vy173  ret <256 x i1> %z174}175 176; Function Attrs: nounwind177define fastcc <256 x i1> @fcmp_olt_vv_v256f32(<256 x float> %x, <256 x float> %y) {178; CHECK-LABEL: fcmp_olt_vv_v256f32:179; CHECK:       # %bb.0:180; CHECK-NEXT:    lea %s0, 256181; CHECK-NEXT:    lvl %s0182; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1183; CHECK-NEXT:    vfmk.s.lt %vm1, %v0184; CHECK-NEXT:    b.l.t (, %s10)185  %z = fcmp olt <256 x float> %x, %y186  ret <256 x i1> %z187}188 189; Function Attrs: nounwind190define fastcc <256 x i1> @fcmp_olt_sv_v256f32(float %x, <256 x float> %y) {191; CHECK-LABEL: fcmp_olt_sv_v256f32:192; CHECK:       # %bb.0:193; CHECK-NEXT:    lea %s1, 256194; CHECK-NEXT:    lvl %s1195; CHECK-NEXT:    vbrd %v1, %s0196; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0197; CHECK-NEXT:    vfmk.s.lt %vm1, %v0198; CHECK-NEXT:    b.l.t (, %s10)199  %xins = insertelement <256 x float> undef, float %x, i32 0200  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer201  %z = fcmp olt <256 x float> %vx, %y202  ret <256 x i1> %z203}204 205; Function Attrs: nounwind206define fastcc <256 x i1> @fcmp_olt_vs_v256f32(<256 x float> %x, float %y) {207; CHECK-LABEL: fcmp_olt_vs_v256f32:208; CHECK:       # %bb.0:209; CHECK-NEXT:    lea %s1, 256210; CHECK-NEXT:    lvl %s1211; CHECK-NEXT:    vbrd %v1, %s0212; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1213; CHECK-NEXT:    vfmk.s.lt %vm1, %v0214; CHECK-NEXT:    b.l.t (, %s10)215  %yins = insertelement <256 x float> undef, float %y, i32 0216  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer217  %z = fcmp olt <256 x float> %x, %vy218  ret <256 x i1> %z219}220 221; Function Attrs: nounwind222define fastcc <256 x i1> @fcmp_ole_vv_v256f32(<256 x float> %x, <256 x float> %y) {223; CHECK-LABEL: fcmp_ole_vv_v256f32:224; CHECK:       # %bb.0:225; CHECK-NEXT:    lea %s0, 256226; CHECK-NEXT:    lvl %s0227; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1228; CHECK-NEXT:    vfmk.s.le %vm1, %v0229; CHECK-NEXT:    b.l.t (, %s10)230  %z = fcmp ole <256 x float> %x, %y231  ret <256 x i1> %z232}233 234; Function Attrs: nounwind235define fastcc <256 x i1> @fcmp_ole_sv_v256f32(float %x, <256 x float> %y) {236; CHECK-LABEL: fcmp_ole_sv_v256f32:237; CHECK:       # %bb.0:238; CHECK-NEXT:    lea %s1, 256239; CHECK-NEXT:    lvl %s1240; CHECK-NEXT:    vbrd %v1, %s0241; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0242; CHECK-NEXT:    vfmk.s.le %vm1, %v0243; CHECK-NEXT:    b.l.t (, %s10)244  %xins = insertelement <256 x float> undef, float %x, i32 0245  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer246  %z = fcmp ole <256 x float> %vx, %y247  ret <256 x i1> %z248}249 250; Function Attrs: nounwind251define fastcc <256 x i1> @fcmp_ole_vs_v256f32(<256 x float> %x, float %y) {252; CHECK-LABEL: fcmp_ole_vs_v256f32:253; CHECK:       # %bb.0:254; CHECK-NEXT:    lea %s1, 256255; CHECK-NEXT:    lvl %s1256; CHECK-NEXT:    vbrd %v1, %s0257; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1258; CHECK-NEXT:    vfmk.s.le %vm1, %v0259; CHECK-NEXT:    b.l.t (, %s10)260  %yins = insertelement <256 x float> undef, float %y, i32 0261  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer262  %z = fcmp ole <256 x float> %x, %vy263  ret <256 x i1> %z264}265 266; Function Attrs: nounwind267define fastcc <256 x i1> @fcmp_one_vv_v256f32(<256 x float> %x, <256 x float> %y) {268; CHECK-LABEL: fcmp_one_vv_v256f32:269; CHECK:       # %bb.0:270; CHECK-NEXT:    lea %s0, 256271; CHECK-NEXT:    lvl %s0272; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1273; CHECK-NEXT:    vfmk.s.ne %vm1, %v0274; CHECK-NEXT:    b.l.t (, %s10)275  %z = fcmp one <256 x float> %x, %y276  ret <256 x i1> %z277}278 279; Function Attrs: nounwind280define fastcc <256 x i1> @fcmp_one_sv_v256f32(float %x, <256 x float> %y) {281; CHECK-LABEL: fcmp_one_sv_v256f32:282; CHECK:       # %bb.0:283; CHECK-NEXT:    lea %s1, 256284; CHECK-NEXT:    lvl %s1285; CHECK-NEXT:    vbrd %v1, %s0286; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0287; CHECK-NEXT:    vfmk.s.ne %vm1, %v0288; CHECK-NEXT:    b.l.t (, %s10)289  %xins = insertelement <256 x float> undef, float %x, i32 0290  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer291  %z = fcmp one <256 x float> %vx, %y292  ret <256 x i1> %z293}294 295; Function Attrs: nounwind296define fastcc <256 x i1> @fcmp_one_vs_v256f32(<256 x float> %x, float %y) {297; CHECK-LABEL: fcmp_one_vs_v256f32:298; CHECK:       # %bb.0:299; CHECK-NEXT:    lea %s1, 256300; CHECK-NEXT:    lvl %s1301; CHECK-NEXT:    vbrd %v1, %s0302; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1303; CHECK-NEXT:    vfmk.s.ne %vm1, %v0304; CHECK-NEXT:    b.l.t (, %s10)305  %yins = insertelement <256 x float> undef, float %y, i32 0306  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer307  %z = fcmp one <256 x float> %x, %vy308  ret <256 x i1> %z309}310 311; Function Attrs: nounwind312define fastcc <256 x i1> @fcmp_ord_vv_v256f32(<256 x float> %x, <256 x float> %y) {313; CHECK-LABEL: fcmp_ord_vv_v256f32:314; CHECK:       # %bb.0:315; CHECK-NEXT:    lea %s0, 256316; CHECK-NEXT:    lvl %s0317; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1318; CHECK-NEXT:    vfmk.s.num %vm1, %v0319; CHECK-NEXT:    b.l.t (, %s10)320  %z = fcmp ord <256 x float> %x, %y321  ret <256 x i1> %z322}323 324; Function Attrs: nounwind325define fastcc <256 x i1> @fcmp_ord_sv_v256f32(float %x, <256 x float> %y) {326; CHECK-LABEL: fcmp_ord_sv_v256f32:327; CHECK:       # %bb.0:328; CHECK-NEXT:    lea %s1, 256329; CHECK-NEXT:    lvl %s1330; CHECK-NEXT:    vbrd %v1, %s0331; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0332; CHECK-NEXT:    vfmk.s.num %vm1, %v0333; CHECK-NEXT:    b.l.t (, %s10)334  %xins = insertelement <256 x float> undef, float %x, i32 0335  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer336  %z = fcmp ord <256 x float> %vx, %y337  ret <256 x i1> %z338}339 340; Function Attrs: nounwind341define fastcc <256 x i1> @fcmp_ord_vs_v256f32(<256 x float> %x, float %y) {342; CHECK-LABEL: fcmp_ord_vs_v256f32:343; CHECK:       # %bb.0:344; CHECK-NEXT:    lea %s1, 256345; CHECK-NEXT:    lvl %s1346; CHECK-NEXT:    vbrd %v1, %s0347; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1348; CHECK-NEXT:    vfmk.s.num %vm1, %v0349; CHECK-NEXT:    b.l.t (, %s10)350  %yins = insertelement <256 x float> undef, float %y, i32 0351  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer352  %z = fcmp ord <256 x float> %x, %vy353  ret <256 x i1> %z354}355 356; Function Attrs: nounwind357define fastcc <256 x i1> @fcmp_uno_vv_v256f32(<256 x float> %x, <256 x float> %y) {358; CHECK-LABEL: fcmp_uno_vv_v256f32:359; CHECK:       # %bb.0:360; CHECK-NEXT:    lea %s0, 256361; CHECK-NEXT:    lvl %s0362; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1363; CHECK-NEXT:    vfmk.s.nan %vm1, %v0364; CHECK-NEXT:    b.l.t (, %s10)365  %z = fcmp uno <256 x float> %x, %y366  ret <256 x i1> %z367}368 369; Function Attrs: nounwind370define fastcc <256 x i1> @fcmp_uno_sv_v256f32(float %x, <256 x float> %y) {371; CHECK-LABEL: fcmp_uno_sv_v256f32:372; CHECK:       # %bb.0:373; CHECK-NEXT:    lea %s1, 256374; CHECK-NEXT:    lvl %s1375; CHECK-NEXT:    vbrd %v1, %s0376; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0377; CHECK-NEXT:    vfmk.s.nan %vm1, %v0378; CHECK-NEXT:    b.l.t (, %s10)379  %xins = insertelement <256 x float> undef, float %x, i32 0380  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer381  %z = fcmp uno <256 x float> %vx, %y382  ret <256 x i1> %z383}384 385; Function Attrs: nounwind386define fastcc <256 x i1> @fcmp_uno_vs_v256f32(<256 x float> %x, float %y) {387; CHECK-LABEL: fcmp_uno_vs_v256f32:388; CHECK:       # %bb.0:389; CHECK-NEXT:    lea %s1, 256390; CHECK-NEXT:    lvl %s1391; CHECK-NEXT:    vbrd %v1, %s0392; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1393; CHECK-NEXT:    vfmk.s.nan %vm1, %v0394; CHECK-NEXT:    b.l.t (, %s10)395  %yins = insertelement <256 x float> undef, float %y, i32 0396  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer397  %z = fcmp uno <256 x float> %x, %vy398  ret <256 x i1> %z399}400 401; Function Attrs: nounwind402define fastcc <256 x i1> @fcmp_ueq_vv_v256f32(<256 x float> %x, <256 x float> %y) {403; CHECK-LABEL: fcmp_ueq_vv_v256f32:404; CHECK:       # %bb.0:405; CHECK-NEXT:    lea %s0, 256406; CHECK-NEXT:    lvl %s0407; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1408; CHECK-NEXT:    vfmk.s.eqnan %vm1, %v0409; CHECK-NEXT:    b.l.t (, %s10)410  %z = fcmp ueq <256 x float> %x, %y411  ret <256 x i1> %z412}413 414; Function Attrs: nounwind415define fastcc <256 x i1> @fcmp_ueq_sv_v256f32(float %x, <256 x float> %y) {416; CHECK-LABEL: fcmp_ueq_sv_v256f32:417; CHECK:       # %bb.0:418; CHECK-NEXT:    lea %s1, 256419; CHECK-NEXT:    lvl %s1420; CHECK-NEXT:    vbrd %v1, %s0421; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0422; CHECK-NEXT:    vfmk.s.eqnan %vm1, %v0423; CHECK-NEXT:    b.l.t (, %s10)424  %xins = insertelement <256 x float> undef, float %x, i32 0425  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer426  %z = fcmp ueq <256 x float> %vx, %y427  ret <256 x i1> %z428}429 430; Function Attrs: nounwind431define fastcc <256 x i1> @fcmp_ueq_vs_v256f32(<256 x float> %x, float %y) {432; CHECK-LABEL: fcmp_ueq_vs_v256f32:433; CHECK:       # %bb.0:434; CHECK-NEXT:    lea %s1, 256435; CHECK-NEXT:    lvl %s1436; CHECK-NEXT:    vbrd %v1, %s0437; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1438; CHECK-NEXT:    vfmk.s.eqnan %vm1, %v0439; CHECK-NEXT:    b.l.t (, %s10)440  %yins = insertelement <256 x float> undef, float %y, i32 0441  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer442  %z = fcmp ueq <256 x float> %x, %vy443  ret <256 x i1> %z444}445 446; Function Attrs: nounwind447define fastcc <256 x i1> @fcmp_ugt_vv_v256f32(<256 x float> %x, <256 x float> %y) {448; CHECK-LABEL: fcmp_ugt_vv_v256f32:449; CHECK:       # %bb.0:450; CHECK-NEXT:    lea %s0, 256451; CHECK-NEXT:    lvl %s0452; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1453; CHECK-NEXT:    vfmk.s.gtnan %vm1, %v0454; CHECK-NEXT:    b.l.t (, %s10)455  %z = fcmp ugt <256 x float> %x, %y456  ret <256 x i1> %z457}458 459; Function Attrs: nounwind460define fastcc <256 x i1> @fcmp_ugt_sv_v256f32(float %x, <256 x float> %y) {461; CHECK-LABEL: fcmp_ugt_sv_v256f32:462; CHECK:       # %bb.0:463; CHECK-NEXT:    lea %s1, 256464; CHECK-NEXT:    lvl %s1465; CHECK-NEXT:    vbrd %v1, %s0466; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0467; CHECK-NEXT:    vfmk.s.gtnan %vm1, %v0468; CHECK-NEXT:    b.l.t (, %s10)469  %xins = insertelement <256 x float> undef, float %x, i32 0470  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer471  %z = fcmp ugt <256 x float> %vx, %y472  ret <256 x i1> %z473}474 475; Function Attrs: nounwind476define fastcc <256 x i1> @fcmp_ugt_vs_v256f32(<256 x float> %x, float %y) {477; CHECK-LABEL: fcmp_ugt_vs_v256f32:478; CHECK:       # %bb.0:479; CHECK-NEXT:    lea %s1, 256480; CHECK-NEXT:    lvl %s1481; CHECK-NEXT:    vbrd %v1, %s0482; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1483; CHECK-NEXT:    vfmk.s.gtnan %vm1, %v0484; CHECK-NEXT:    b.l.t (, %s10)485  %yins = insertelement <256 x float> undef, float %y, i32 0486  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer487  %z = fcmp ugt <256 x float> %x, %vy488  ret <256 x i1> %z489}490 491; Function Attrs: nounwind492define fastcc <256 x i1> @fcmp_uge_vv_v256f32(<256 x float> %x, <256 x float> %y) {493; CHECK-LABEL: fcmp_uge_vv_v256f32:494; CHECK:       # %bb.0:495; CHECK-NEXT:    lea %s0, 256496; CHECK-NEXT:    lvl %s0497; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1498; CHECK-NEXT:    vfmk.s.genan %vm1, %v0499; CHECK-NEXT:    b.l.t (, %s10)500  %z = fcmp uge <256 x float> %x, %y501  ret <256 x i1> %z502}503 504; Function Attrs: nounwind505define fastcc <256 x i1> @fcmp_uge_sv_v256f32(float %x, <256 x float> %y) {506; CHECK-LABEL: fcmp_uge_sv_v256f32:507; CHECK:       # %bb.0:508; CHECK-NEXT:    lea %s1, 256509; CHECK-NEXT:    lvl %s1510; CHECK-NEXT:    vbrd %v1, %s0511; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0512; CHECK-NEXT:    vfmk.s.genan %vm1, %v0513; CHECK-NEXT:    b.l.t (, %s10)514  %xins = insertelement <256 x float> undef, float %x, i32 0515  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer516  %z = fcmp uge <256 x float> %vx, %y517  ret <256 x i1> %z518}519 520; Function Attrs: nounwind521define fastcc <256 x i1> @fcmp_uge_vs_v256f32(<256 x float> %x, float %y) {522; CHECK-LABEL: fcmp_uge_vs_v256f32:523; CHECK:       # %bb.0:524; CHECK-NEXT:    lea %s1, 256525; CHECK-NEXT:    lvl %s1526; CHECK-NEXT:    vbrd %v1, %s0527; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1528; CHECK-NEXT:    vfmk.s.genan %vm1, %v0529; CHECK-NEXT:    b.l.t (, %s10)530  %yins = insertelement <256 x float> undef, float %y, i32 0531  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer532  %z = fcmp uge <256 x float> %x, %vy533  ret <256 x i1> %z534}535 536; Function Attrs: nounwind537define fastcc <256 x i1> @fcmp_ult_vv_v256f32(<256 x float> %x, <256 x float> %y) {538; CHECK-LABEL: fcmp_ult_vv_v256f32:539; CHECK:       # %bb.0:540; CHECK-NEXT:    lea %s0, 256541; CHECK-NEXT:    lvl %s0542; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1543; CHECK-NEXT:    vfmk.s.ltnan %vm1, %v0544; CHECK-NEXT:    b.l.t (, %s10)545  %z = fcmp ult <256 x float> %x, %y546  ret <256 x i1> %z547}548 549; Function Attrs: nounwind550define fastcc <256 x i1> @fcmp_ult_sv_v256f32(float %x, <256 x float> %y) {551; CHECK-LABEL: fcmp_ult_sv_v256f32:552; CHECK:       # %bb.0:553; CHECK-NEXT:    lea %s1, 256554; CHECK-NEXT:    lvl %s1555; CHECK-NEXT:    vbrd %v1, %s0556; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0557; CHECK-NEXT:    vfmk.s.ltnan %vm1, %v0558; CHECK-NEXT:    b.l.t (, %s10)559  %xins = insertelement <256 x float> undef, float %x, i32 0560  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer561  %z = fcmp ult <256 x float> %vx, %y562  ret <256 x i1> %z563}564 565; Function Attrs: nounwind566define fastcc <256 x i1> @fcmp_ult_vs_v256f32(<256 x float> %x, float %y) {567; CHECK-LABEL: fcmp_ult_vs_v256f32:568; CHECK:       # %bb.0:569; CHECK-NEXT:    lea %s1, 256570; CHECK-NEXT:    lvl %s1571; CHECK-NEXT:    vbrd %v1, %s0572; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1573; CHECK-NEXT:    vfmk.s.ltnan %vm1, %v0574; CHECK-NEXT:    b.l.t (, %s10)575  %yins = insertelement <256 x float> undef, float %y, i32 0576  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer577  %z = fcmp ult <256 x float> %x, %vy578  ret <256 x i1> %z579}580 581; Function Attrs: nounwind582define fastcc <256 x i1> @fcmp_ule_vv_v256f32(<256 x float> %x, <256 x float> %y) {583; CHECK-LABEL: fcmp_ule_vv_v256f32:584; CHECK:       # %bb.0:585; CHECK-NEXT:    lea %s0, 256586; CHECK-NEXT:    lvl %s0587; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1588; CHECK-NEXT:    vfmk.s.lenan %vm1, %v0589; CHECK-NEXT:    b.l.t (, %s10)590  %z = fcmp ule <256 x float> %x, %y591  ret <256 x i1> %z592}593 594; Function Attrs: nounwind595define fastcc <256 x i1> @fcmp_ule_sv_v256f32(float %x, <256 x float> %y) {596; CHECK-LABEL: fcmp_ule_sv_v256f32:597; CHECK:       # %bb.0:598; CHECK-NEXT:    lea %s1, 256599; CHECK-NEXT:    lvl %s1600; CHECK-NEXT:    vbrd %v1, %s0601; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0602; CHECK-NEXT:    vfmk.s.lenan %vm1, %v0603; CHECK-NEXT:    b.l.t (, %s10)604  %xins = insertelement <256 x float> undef, float %x, i32 0605  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer606  %z = fcmp ule <256 x float> %vx, %y607  ret <256 x i1> %z608}609 610; Function Attrs: nounwind611define fastcc <256 x i1> @fcmp_ule_vs_v256f32(<256 x float> %x, float %y) {612; CHECK-LABEL: fcmp_ule_vs_v256f32:613; CHECK:       # %bb.0:614; CHECK-NEXT:    lea %s1, 256615; CHECK-NEXT:    lvl %s1616; CHECK-NEXT:    vbrd %v1, %s0617; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1618; CHECK-NEXT:    vfmk.s.lenan %vm1, %v0619; CHECK-NEXT:    b.l.t (, %s10)620  %yins = insertelement <256 x float> undef, float %y, i32 0621  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer622  %z = fcmp ule <256 x float> %x, %vy623  ret <256 x i1> %z624}625 626; Function Attrs: nounwind627define fastcc <256 x i1> @fcmp_une_vv_v256f32(<256 x float> %x, <256 x float> %y) {628; CHECK-LABEL: fcmp_une_vv_v256f32:629; CHECK:       # %bb.0:630; CHECK-NEXT:    lea %s0, 256631; CHECK-NEXT:    lvl %s0632; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1633; CHECK-NEXT:    vfmk.s.nenan %vm1, %v0634; CHECK-NEXT:    b.l.t (, %s10)635  %z = fcmp une <256 x float> %x, %y636  ret <256 x i1> %z637}638 639; Function Attrs: nounwind640define fastcc <256 x i1> @fcmp_une_sv_v256f32(float %x, <256 x float> %y) {641; CHECK-LABEL: fcmp_une_sv_v256f32:642; CHECK:       # %bb.0:643; CHECK-NEXT:    lea %s1, 256644; CHECK-NEXT:    lvl %s1645; CHECK-NEXT:    vbrd %v1, %s0646; CHECK-NEXT:    vfcmp.s %v0, %v1, %v0647; CHECK-NEXT:    vfmk.s.nenan %vm1, %v0648; CHECK-NEXT:    b.l.t (, %s10)649  %xins = insertelement <256 x float> undef, float %x, i32 0650  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer651  %z = fcmp une <256 x float> %vx, %y652  ret <256 x i1> %z653}654 655; Function Attrs: nounwind656define fastcc <256 x i1> @fcmp_une_vs_v256f32(<256 x float> %x, float %y) {657; CHECK-LABEL: fcmp_une_vs_v256f32:658; CHECK:       # %bb.0:659; CHECK-NEXT:    lea %s1, 256660; CHECK-NEXT:    lvl %s1661; CHECK-NEXT:    vbrd %v1, %s0662; CHECK-NEXT:    vfcmp.s %v0, %v0, %v1663; CHECK-NEXT:    vfmk.s.nenan %vm1, %v0664; CHECK-NEXT:    b.l.t (, %s10)665  %yins = insertelement <256 x float> undef, float %y, i32 0666  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer667  %z = fcmp une <256 x float> %x, %vy668  ret <256 x i1> %z669}670 671; Function Attrs: nounwind672define fastcc <256 x i1> @fcmp_true_vv_v256f32(<256 x float> %x, <256 x float> %y) {673; CHECK-LABEL: fcmp_true_vv_v256f32:674; CHECK:       # %bb.0:675; CHECK-NEXT:    andm %vm1, %vm0, %vm0676; CHECK-NEXT:    b.l.t (, %s10)677  %z = fcmp true <256 x float> %x, %y678  ret <256 x i1> %z679}680 681; Function Attrs: nounwind682define fastcc <256 x i1> @fcmp_true_sv_v256f32(float %x, <256 x float> %y) {683; CHECK-LABEL: fcmp_true_sv_v256f32:684; CHECK:       # %bb.0:685; CHECK-NEXT:    andm %vm1, %vm0, %vm0686; CHECK-NEXT:    b.l.t (, %s10)687  %xins = insertelement <256 x float> undef, float %x, i32 0688  %vx = shufflevector <256 x float> %xins, <256 x float> undef, <256 x i32> zeroinitializer689  %z = fcmp true <256 x float> %vx, %y690  ret <256 x i1> %z691}692 693; Function Attrs: nounwind694define fastcc <256 x i1> @fcmp_true_vs_v256f32(<256 x float> %x, float %y) {695; CHECK-LABEL: fcmp_true_vs_v256f32:696; CHECK:       # %bb.0:697; CHECK-NEXT:    andm %vm1, %vm0, %vm0698; CHECK-NEXT:    b.l.t (, %s10)699  %yins = insertelement <256 x float> undef, float %y, i32 0700  %vy = shufflevector <256 x float> %yins, <256 x float> undef, <256 x i32> zeroinitializer701  %z = fcmp true <256 x float> %x, %vy702  ret <256 x i1> %z703}704