brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.7 KiB · d624f6c Raw
424 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i386-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE3; RUN: llc < %s -mtriple=i386-unknown -mattr=+avx  | FileCheck %s --check-prefixes=AVX,AVX14; RUN: llc < %s -mtriple=i386-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX256,AVX25; RUN: llc < %s -mtriple=i386-unknown -mcpu=knl | FileCheck %s --check-prefixes=AVX,AVX256,AVX5126; RUN: llc < %s -mtriple=i386-unknown -mcpu=skx | FileCheck %s --check-prefixes=AVX,AVX256,AVX5127; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE8; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx  | FileCheck %s --check-prefixes=AVX,AVX19; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX256,AVX210; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=knl | FileCheck %s --check-prefixes=AVX,AVX256,AVX51211; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=skx | FileCheck %s --check-prefixes=AVX,AVX256,AVX51212 13define <16 x i8> @allones_v16i8() nounwind {14; SSE-LABEL: allones_v16i8:15; SSE:       # %bb.0:16; SSE-NEXT:    pcmpeqd %xmm0, %xmm017; SSE-NEXT:    ret{{[l|q]}}18;19; AVX-LABEL: allones_v16i8:20; AVX:       # %bb.0:21; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm022; AVX-NEXT:    ret{{[l|q]}}23  ret <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>24}25 26define <8 x i16> @allones_v8i16() nounwind {27; SSE-LABEL: allones_v8i16:28; SSE:       # %bb.0:29; SSE-NEXT:    pcmpeqd %xmm0, %xmm030; SSE-NEXT:    ret{{[l|q]}}31;32; AVX-LABEL: allones_v8i16:33; AVX:       # %bb.0:34; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm035; AVX-NEXT:    ret{{[l|q]}}36  ret <8 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>37}38 39define <4 x i32> @allones_v4i32() nounwind {40; SSE-LABEL: allones_v4i32:41; SSE:       # %bb.0:42; SSE-NEXT:    pcmpeqd %xmm0, %xmm043; SSE-NEXT:    ret{{[l|q]}}44;45; AVX-LABEL: allones_v4i32:46; AVX:       # %bb.0:47; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm048; AVX-NEXT:    ret{{[l|q]}}49  ret <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>50}51 52define <2 x i64> @allones_v2i64() nounwind {53; SSE-LABEL: allones_v2i64:54; SSE:       # %bb.0:55; SSE-NEXT:    pcmpeqd %xmm0, %xmm056; SSE-NEXT:    ret{{[l|q]}}57;58; AVX-LABEL: allones_v2i64:59; AVX:       # %bb.0:60; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm061; AVX-NEXT:    ret{{[l|q]}}62  ret <2 x i64> <i64 -1, i64 -1>63}64 65define <2 x double> @allones_v2f64() nounwind {66; SSE-LABEL: allones_v2f64:67; SSE:       # %bb.0:68; SSE-NEXT:    pcmpeqd %xmm0, %xmm069; SSE-NEXT:    ret{{[l|q]}}70;71; AVX-LABEL: allones_v2f64:72; AVX:       # %bb.0:73; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm074; AVX-NEXT:    ret{{[l|q]}}75  ret <2 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff>76}77 78define <4 x float> @allones_v4f32() nounwind {79; SSE-LABEL: allones_v4f32:80; SSE:       # %bb.0:81; SSE-NEXT:    pcmpeqd %xmm0, %xmm082; SSE-NEXT:    ret{{[l|q]}}83;84; AVX-LABEL: allones_v4f32:85; AVX:       # %bb.0:86; AVX-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm087; AVX-NEXT:    ret{{[l|q]}}88  ret <4 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000>89}90 91define <32 x i8> @allones_v32i8() nounwind {92; SSE-LABEL: allones_v32i8:93; SSE:       # %bb.0:94; SSE-NEXT:    pcmpeqd %xmm0, %xmm095; SSE-NEXT:    pcmpeqd %xmm1, %xmm196; SSE-NEXT:    ret{{[l|q]}}97;98; AVX1-LABEL: allones_v32i8:99; AVX1:       # %bb.0:100; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0101; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0102; AVX1-NEXT:    ret{{[l|q]}}103;104; AVX256-LABEL: allones_v32i8:105; AVX256:       # %bb.0:106; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0107; AVX256-NEXT:    ret{{[l|q]}}108  ret <32 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>109}110 111define <16 x i16> @allones_v16i16() nounwind {112; SSE-LABEL: allones_v16i16:113; SSE:       # %bb.0:114; SSE-NEXT:    pcmpeqd %xmm0, %xmm0115; SSE-NEXT:    pcmpeqd %xmm1, %xmm1116; SSE-NEXT:    ret{{[l|q]}}117;118; AVX1-LABEL: allones_v16i16:119; AVX1:       # %bb.0:120; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0121; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0122; AVX1-NEXT:    ret{{[l|q]}}123;124; AVX256-LABEL: allones_v16i16:125; AVX256:       # %bb.0:126; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0127; AVX256-NEXT:    ret{{[l|q]}}128  ret <16 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>129}130 131define <8 x i32> @allones_v8i32() nounwind {132; SSE-LABEL: allones_v8i32:133; SSE:       # %bb.0:134; SSE-NEXT:    pcmpeqd %xmm0, %xmm0135; SSE-NEXT:    pcmpeqd %xmm1, %xmm1136; SSE-NEXT:    ret{{[l|q]}}137;138; AVX1-LABEL: allones_v8i32:139; AVX1:       # %bb.0:140; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0141; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0142; AVX1-NEXT:    ret{{[l|q]}}143;144; AVX256-LABEL: allones_v8i32:145; AVX256:       # %bb.0:146; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0147; AVX256-NEXT:    ret{{[l|q]}}148  ret <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>149}150 151define <4 x i64> @allones_v4i64() nounwind {152; SSE-LABEL: allones_v4i64:153; SSE:       # %bb.0:154; SSE-NEXT:    pcmpeqd %xmm0, %xmm0155; SSE-NEXT:    pcmpeqd %xmm1, %xmm1156; SSE-NEXT:    ret{{[l|q]}}157;158; AVX1-LABEL: allones_v4i64:159; AVX1:       # %bb.0:160; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0161; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0162; AVX1-NEXT:    ret{{[l|q]}}163;164; AVX256-LABEL: allones_v4i64:165; AVX256:       # %bb.0:166; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0167; AVX256-NEXT:    ret{{[l|q]}}168  ret <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>169}170 171define <4 x double> @allones_v4f64() nounwind {172; SSE-LABEL: allones_v4f64:173; SSE:       # %bb.0:174; SSE-NEXT:    pcmpeqd %xmm0, %xmm0175; SSE-NEXT:    pcmpeqd %xmm1, %xmm1176; SSE-NEXT:    ret{{[l|q]}}177;178; AVX1-LABEL: allones_v4f64:179; AVX1:       # %bb.0:180; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0181; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0182; AVX1-NEXT:    ret{{[l|q]}}183;184; AVX256-LABEL: allones_v4f64:185; AVX256:       # %bb.0:186; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0187; AVX256-NEXT:    ret{{[l|q]}}188  ret <4 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff>189}190 191define <4 x double> @allones_v4f64_optsize() nounwind optsize {192; SSE-LABEL: allones_v4f64_optsize:193; SSE:       # %bb.0:194; SSE-NEXT:    pcmpeqd %xmm0, %xmm0195; SSE-NEXT:    pcmpeqd %xmm1, %xmm1196; SSE-NEXT:    ret{{[l|q]}}197;198; AVX1-LABEL: allones_v4f64_optsize:199; AVX1:       # %bb.0:200; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0201; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0202; AVX1-NEXT:    ret{{[l|q]}}203;204; AVX256-LABEL: allones_v4f64_optsize:205; AVX256:       # %bb.0:206; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0207; AVX256-NEXT:    ret{{[l|q]}}208  ret <4 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff>209}210 211define <8 x float> @allones_v8f32() nounwind {212; SSE-LABEL: allones_v8f32:213; SSE:       # %bb.0:214; SSE-NEXT:    pcmpeqd %xmm0, %xmm0215; SSE-NEXT:    pcmpeqd %xmm1, %xmm1216; SSE-NEXT:    ret{{[l|q]}}217;218; AVX1-LABEL: allones_v8f32:219; AVX1:       # %bb.0:220; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0221; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0222; AVX1-NEXT:    ret{{[l|q]}}223;224; AVX256-LABEL: allones_v8f32:225; AVX256:       # %bb.0:226; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0227; AVX256-NEXT:    ret{{[l|q]}}228  ret <8 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000>229}230 231define <8 x float> @allones_v8f32_optsize() nounwind optsize {232; SSE-LABEL: allones_v8f32_optsize:233; SSE:       # %bb.0:234; SSE-NEXT:    pcmpeqd %xmm0, %xmm0235; SSE-NEXT:    pcmpeqd %xmm1, %xmm1236; SSE-NEXT:    ret{{[l|q]}}237;238; AVX1-LABEL: allones_v8f32_optsize:239; AVX1:       # %bb.0:240; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0241; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0242; AVX1-NEXT:    ret{{[l|q]}}243;244; AVX256-LABEL: allones_v8f32_optsize:245; AVX256:       # %bb.0:246; AVX256-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0247; AVX256-NEXT:    ret{{[l|q]}}248  ret <8 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000>249}250 251define <64 x i8> @allones_v64i8() nounwind {252; SSE-LABEL: allones_v64i8:253; SSE:       # %bb.0:254; SSE-NEXT:    pcmpeqd %xmm0, %xmm0255; SSE-NEXT:    pcmpeqd %xmm1, %xmm1256; SSE-NEXT:    pcmpeqd %xmm2, %xmm2257; SSE-NEXT:    pcmpeqd %xmm3, %xmm3258; SSE-NEXT:    ret{{[l|q]}}259;260; AVX1-LABEL: allones_v64i8:261; AVX1:       # %bb.0:262; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0263; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0264; AVX1-NEXT:    vmovaps %ymm0, %ymm1265; AVX1-NEXT:    ret{{[l|q]}}266;267; AVX2-LABEL: allones_v64i8:268; AVX2:       # %bb.0:269; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0270; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1271; AVX2-NEXT:    ret{{[l|q]}}272;273; AVX512-LABEL: allones_v64i8:274; AVX512:       # %bb.0:275; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0276; AVX512-NEXT:    ret{{[l|q]}}277  ret <64 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>278}279 280define <32 x i16> @allones_v32i16() nounwind {281; SSE-LABEL: allones_v32i16:282; SSE:       # %bb.0:283; SSE-NEXT:    pcmpeqd %xmm0, %xmm0284; SSE-NEXT:    pcmpeqd %xmm1, %xmm1285; SSE-NEXT:    pcmpeqd %xmm2, %xmm2286; SSE-NEXT:    pcmpeqd %xmm3, %xmm3287; SSE-NEXT:    ret{{[l|q]}}288;289; AVX1-LABEL: allones_v32i16:290; AVX1:       # %bb.0:291; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0292; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0293; AVX1-NEXT:    vmovaps %ymm0, %ymm1294; AVX1-NEXT:    ret{{[l|q]}}295;296; AVX2-LABEL: allones_v32i16:297; AVX2:       # %bb.0:298; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0299; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1300; AVX2-NEXT:    ret{{[l|q]}}301;302; AVX512-LABEL: allones_v32i16:303; AVX512:       # %bb.0:304; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0305; AVX512-NEXT:    ret{{[l|q]}}306  ret <32 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>307}308 309define <16 x i32> @allones_v16i32() nounwind {310; SSE-LABEL: allones_v16i32:311; SSE:       # %bb.0:312; SSE-NEXT:    pcmpeqd %xmm0, %xmm0313; SSE-NEXT:    pcmpeqd %xmm1, %xmm1314; SSE-NEXT:    pcmpeqd %xmm2, %xmm2315; SSE-NEXT:    pcmpeqd %xmm3, %xmm3316; SSE-NEXT:    ret{{[l|q]}}317;318; AVX1-LABEL: allones_v16i32:319; AVX1:       # %bb.0:320; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0321; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0322; AVX1-NEXT:    vmovaps %ymm0, %ymm1323; AVX1-NEXT:    ret{{[l|q]}}324;325; AVX2-LABEL: allones_v16i32:326; AVX2:       # %bb.0:327; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0328; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1329; AVX2-NEXT:    ret{{[l|q]}}330;331; AVX512-LABEL: allones_v16i32:332; AVX512:       # %bb.0:333; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0334; AVX512-NEXT:    ret{{[l|q]}}335  ret <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>336}337 338define <8 x i64> @allones_v8i64() nounwind {339; SSE-LABEL: allones_v8i64:340; SSE:       # %bb.0:341; SSE-NEXT:    pcmpeqd %xmm0, %xmm0342; SSE-NEXT:    pcmpeqd %xmm1, %xmm1343; SSE-NEXT:    pcmpeqd %xmm2, %xmm2344; SSE-NEXT:    pcmpeqd %xmm3, %xmm3345; SSE-NEXT:    ret{{[l|q]}}346;347; AVX1-LABEL: allones_v8i64:348; AVX1:       # %bb.0:349; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0350; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0351; AVX1-NEXT:    vmovaps %ymm0, %ymm1352; AVX1-NEXT:    ret{{[l|q]}}353;354; AVX2-LABEL: allones_v8i64:355; AVX2:       # %bb.0:356; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0357; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1358; AVX2-NEXT:    ret{{[l|q]}}359;360; AVX512-LABEL: allones_v8i64:361; AVX512:       # %bb.0:362; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0363; AVX512-NEXT:    ret{{[l|q]}}364  ret <8 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>365}366 367define <8 x double> @allones_v8f64() nounwind {368; SSE-LABEL: allones_v8f64:369; SSE:       # %bb.0:370; SSE-NEXT:    pcmpeqd %xmm0, %xmm0371; SSE-NEXT:    pcmpeqd %xmm1, %xmm1372; SSE-NEXT:    pcmpeqd %xmm2, %xmm2373; SSE-NEXT:    pcmpeqd %xmm3, %xmm3374; SSE-NEXT:    ret{{[l|q]}}375;376; AVX1-LABEL: allones_v8f64:377; AVX1:       # %bb.0:378; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0379; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0380; AVX1-NEXT:    vmovaps %ymm0, %ymm1381; AVX1-NEXT:    ret{{[l|q]}}382;383; AVX2-LABEL: allones_v8f64:384; AVX2:       # %bb.0:385; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0386; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1387; AVX2-NEXT:    ret{{[l|q]}}388;389; AVX512-LABEL: allones_v8f64:390; AVX512:       # %bb.0:391; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0392; AVX512-NEXT:    ret{{[l|q]}}393  ret <8 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff>394}395 396define <16 x float> @allones_v16f32() nounwind {397; SSE-LABEL: allones_v16f32:398; SSE:       # %bb.0:399; SSE-NEXT:    pcmpeqd %xmm0, %xmm0400; SSE-NEXT:    pcmpeqd %xmm1, %xmm1401; SSE-NEXT:    pcmpeqd %xmm2, %xmm2402; SSE-NEXT:    pcmpeqd %xmm3, %xmm3403; SSE-NEXT:    ret{{[l|q]}}404;405; AVX1-LABEL: allones_v16f32:406; AVX1:       # %bb.0:407; AVX1-NEXT:    vxorps %xmm0, %xmm0, %xmm0408; AVX1-NEXT:    vcmptrueps %ymm0, %ymm0, %ymm0409; AVX1-NEXT:    vmovaps %ymm0, %ymm1410; AVX1-NEXT:    ret{{[l|q]}}411;412; AVX2-LABEL: allones_v16f32:413; AVX2:       # %bb.0:414; AVX2-NEXT:    vpcmpeqd %ymm0, %ymm0, %ymm0415; AVX2-NEXT:    vpcmpeqd %ymm1, %ymm1, %ymm1416; AVX2-NEXT:    ret{{[l|q]}}417;418; AVX512-LABEL: allones_v16f32:419; AVX512:       # %bb.0:420; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0421; AVX512-NEXT:    ret{{[l|q]}}422  ret <16 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000>423}424