brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 3ce9704 Raw
119 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw | FileCheck %s3 4define <64 x i8> @vpaddb512_test(<64 x i8> %i, <64 x i8> %j) nounwind readnone {5; CHECK-LABEL: vpaddb512_test:6; CHECK:       # %bb.0:7; CHECK-NEXT:    vpaddb %zmm1, %zmm0, %zmm08; CHECK-NEXT:    retq9  %x = add <64 x i8> %i, %j10  ret <64 x i8> %x11}12 13define <64 x i8> @vpaddb512_fold_test(<64 x i8> %i, ptr %j) nounwind {14; CHECK-LABEL: vpaddb512_fold_test:15; CHECK:       # %bb.0:16; CHECK-NEXT:    vpaddb (%rdi), %zmm0, %zmm017; CHECK-NEXT:    retq18  %tmp = load <64 x i8>, ptr %j, align 419  %x = add <64 x i8> %i, %tmp20  ret <64 x i8> %x21}22 23define <32 x i16> @vpaddw512_test(<32 x i16> %i, <32 x i16> %j) nounwind readnone {24; CHECK-LABEL: vpaddw512_test:25; CHECK:       # %bb.0:26; CHECK-NEXT:    vpaddw %zmm1, %zmm0, %zmm027; CHECK-NEXT:    retq28  %x = add <32 x i16> %i, %j29  ret <32 x i16> %x30}31 32define <32 x i16> @vpaddw512_fold_test(<32 x i16> %i, ptr %j) nounwind {33; CHECK-LABEL: vpaddw512_fold_test:34; CHECK:       # %bb.0:35; CHECK-NEXT:    vpaddw (%rdi), %zmm0, %zmm036; CHECK-NEXT:    retq37  %tmp = load <32 x i16>, ptr %j, align 438  %x = add <32 x i16> %i, %tmp39  ret <32 x i16> %x40}41 42define <32 x i16> @vpaddw512_mask_test(<32 x i16> %i, <32 x i16> %j, <32 x i16> %mask1) nounwind readnone {43; CHECK-LABEL: vpaddw512_mask_test:44; CHECK:       # %bb.0:45; CHECK-NEXT:    vptestmw %zmm2, %zmm2, %k146; CHECK-NEXT:    vpaddw %zmm1, %zmm0, %zmm0 {%k1}47; CHECK-NEXT:    retq48  %mask = icmp ne <32 x i16> %mask1, zeroinitializer49  %x = add <32 x i16> %i, %j50  %r = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> %i51  ret <32 x i16> %r52}53 54define <32 x i16> @vpaddw512_maskz_test(<32 x i16> %i, <32 x i16> %j, <32 x i16> %mask1) nounwind readnone {55; CHECK-LABEL: vpaddw512_maskz_test:56; CHECK:       # %bb.0:57; CHECK-NEXT:    vptestmw %zmm2, %zmm2, %k158; CHECK-NEXT:    vpaddw %zmm1, %zmm0, %zmm0 {%k1} {z}59; CHECK-NEXT:    retq60  %mask = icmp ne <32 x i16> %mask1, zeroinitializer61  %x = add <32 x i16> %i, %j62  %r = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> zeroinitializer63  ret <32 x i16> %r64}65 66define <32 x i16> @vpaddw512_mask_fold_test(<32 x i16> %i, ptr %j.ptr, <32 x i16> %mask1) nounwind readnone {67; CHECK-LABEL: vpaddw512_mask_fold_test:68; CHECK:       # %bb.0:69; CHECK-NEXT:    vptestmw %zmm1, %zmm1, %k170; CHECK-NEXT:    vpaddw (%rdi), %zmm0, %zmm0 {%k1}71; CHECK-NEXT:    retq72  %mask = icmp ne <32 x i16> %mask1, zeroinitializer73  %j = load <32 x i16>, ptr %j.ptr74  %x = add <32 x i16> %i, %j75  %r = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> %i76  ret <32 x i16> %r77}78 79define <32 x i16> @vpaddw512_maskz_fold_test(<32 x i16> %i, ptr %j.ptr, <32 x i16> %mask1) nounwind readnone {80; CHECK-LABEL: vpaddw512_maskz_fold_test:81; CHECK:       # %bb.0:82; CHECK-NEXT:    vptestmw %zmm1, %zmm1, %k183; CHECK-NEXT:    vpaddw (%rdi), %zmm0, %zmm0 {%k1} {z}84; CHECK-NEXT:    retq85  %mask = icmp ne <32 x i16> %mask1, zeroinitializer86  %j = load <32 x i16>, ptr %j.ptr87  %x = add <32 x i16> %i, %j88  %r = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> zeroinitializer89  ret <32 x i16> %r90}91 92define <64 x i8> @vpsubb512_test(<64 x i8> %i, <64 x i8> %j) nounwind readnone {93; CHECK-LABEL: vpsubb512_test:94; CHECK:       # %bb.0:95; CHECK-NEXT:    vpsubb %zmm1, %zmm0, %zmm096; CHECK-NEXT:    retq97  %x = sub <64 x i8> %i, %j98  ret <64 x i8> %x99}100 101define <32 x i16> @vpsubw512_test(<32 x i16> %i, <32 x i16> %j) nounwind readnone {102; CHECK-LABEL: vpsubw512_test:103; CHECK:       # %bb.0:104; CHECK-NEXT:    vpsubw %zmm1, %zmm0, %zmm0105; CHECK-NEXT:    retq106  %x = sub <32 x i16> %i, %j107  ret <32 x i16> %x108}109 110define <32 x i16> @vpmullw512_test(<32 x i16> %i, <32 x i16> %j) {111; CHECK-LABEL: vpmullw512_test:112; CHECK:       # %bb.0:113; CHECK-NEXT:    vpmullw %zmm1, %zmm0, %zmm0114; CHECK-NEXT:    retq115  %x = mul <32 x i16> %i, %j116  ret <32 x i16> %x117}118 119