brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · e4f9d94 Raw
158 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -disable-peephole -mtriple=x86_64-apple-darwin -mattr=+avx512fp16,+avx512vl | FileCheck %s3 4declare <8 x half> @llvm.ceil.v8f16(<8 x half>)5declare <16 x half> @llvm.ceil.v16f16(<16 x half>)6declare <32 x half> @llvm.ceil.v32f16(<32 x half>)7 8define <8 x half> @ceil_v8f16(<8 x half> %p) {9; CHECK-LABEL: ceil_v8f16:10; CHECK:       ## %bb.0:11; CHECK-NEXT:    vrndscaleph $10, %xmm0, %xmm012; CHECK-NEXT:    retq13  %t = call <8 x half> @llvm.ceil.v8f16(<8 x half> %p)14  ret <8 x half> %t15}16 17define <16 x half> @ceil_v16f16(<16 x half> %p) {18; CHECK-LABEL: ceil_v16f16:19; CHECK:       ## %bb.0:20; CHECK-NEXT:    vrndscaleph $10, %ymm0, %ymm021; CHECK-NEXT:    retq22  %t = call <16 x half> @llvm.ceil.v16f16(<16 x half> %p)23  ret <16 x half> %t24}25 26define <32 x half> @ceil_v32f16(<32 x half> %p) {27; CHECK-LABEL: ceil_v32f16:28; CHECK:       ## %bb.0:29; CHECK-NEXT:    vrndscaleph $10, %zmm0, %zmm030; CHECK-NEXT:    retq31  %t = call <32 x half> @llvm.ceil.v32f16(<32 x half> %p)32  ret <32 x half> %t33}34 35declare <8 x half> @llvm.floor.v8f16(<8 x half>)36declare <16 x half> @llvm.floor.v16f16(<16 x half>)37declare <32 x half> @llvm.floor.v32f16(<32 x half>)38 39define <8 x half> @floor_v8f16(<8 x half> %p) {40; CHECK-LABEL: floor_v8f16:41; CHECK:       ## %bb.0:42; CHECK-NEXT:    vrndscaleph $9, %xmm0, %xmm043; CHECK-NEXT:    retq44  %t = call <8 x half> @llvm.floor.v8f16(<8 x half> %p)45  ret <8 x half> %t46}47 48define <16 x half> @floor_v16f16(<16 x half> %p) {49; CHECK-LABEL: floor_v16f16:50; CHECK:       ## %bb.0:51; CHECK-NEXT:    vrndscaleph $9, %ymm0, %ymm052; CHECK-NEXT:    retq53  %t = call <16 x half> @llvm.floor.v16f16(<16 x half> %p)54  ret <16 x half> %t55}56 57define <32 x half> @floor_v32f16(<32 x half> %p) {58; CHECK-LABEL: floor_v32f16:59; CHECK:       ## %bb.0:60; CHECK-NEXT:    vrndscaleph $9, %zmm0, %zmm061; CHECK-NEXT:    retq62  %t = call <32 x half> @llvm.floor.v32f16(<32 x half> %p)63  ret <32 x half> %t64}65 66declare <8 x half> @llvm.trunc.v8f16(<8 x half>)67declare <16 x half> @llvm.trunc.v16f16(<16 x half>)68declare <32 x half> @llvm.trunc.v32f16(<32 x half>)69 70define <8 x half> @trunc_v8f16(<8 x half> %p) {71; CHECK-LABEL: trunc_v8f16:72; CHECK:       ## %bb.0:73; CHECK-NEXT:    vrndscaleph $11, %xmm0, %xmm074; CHECK-NEXT:    retq75  %t = call <8 x half> @llvm.trunc.v8f16(<8 x half> %p)76  ret <8 x half> %t77}78 79define <16 x half> @trunc_v16f16(<16 x half> %p) {80; CHECK-LABEL: trunc_v16f16:81; CHECK:       ## %bb.0:82; CHECK-NEXT:    vrndscaleph $11, %ymm0, %ymm083; CHECK-NEXT:    retq84  %t = call <16 x half> @llvm.trunc.v16f16(<16 x half> %p)85  ret <16 x half> %t86}87 88define <32 x half> @trunc_v32f16(<32 x half> %p) {89; CHECK-LABEL: trunc_v32f16:90; CHECK:       ## %bb.0:91; CHECK-NEXT:    vrndscaleph $11, %zmm0, %zmm092; CHECK-NEXT:    retq93  %t = call <32 x half> @llvm.trunc.v32f16(<32 x half> %p)94  ret <32 x half> %t95}96 97declare <8 x half> @llvm.nearbyint.v8f16(<8 x half>)98declare <16 x half> @llvm.nearbyint.v16f16(<16 x half>)99declare <32 x half> @llvm.nearbyint.v32f16(<32 x half>)100 101define <8 x half> @nearbyint_v8f16(<8 x half> %p) {102; CHECK-LABEL: nearbyint_v8f16:103; CHECK:       ## %bb.0:104; CHECK-NEXT:    vrndscaleph $12, %xmm0, %xmm0105; CHECK-NEXT:    retq106  %t = call <8 x half> @llvm.nearbyint.v8f16(<8 x half> %p)107  ret <8 x half> %t108}109 110define <16 x half> @nearbyint_v16f16(<16 x half> %p) {111; CHECK-LABEL: nearbyint_v16f16:112; CHECK:       ## %bb.0:113; CHECK-NEXT:    vrndscaleph $12, %ymm0, %ymm0114; CHECK-NEXT:    retq115  %t = call <16 x half> @llvm.nearbyint.v16f16(<16 x half> %p)116  ret <16 x half> %t117}118 119define <32 x half> @nearbyint_v32f16(<32 x half> %p) {120; CHECK-LABEL: nearbyint_v32f16:121; CHECK:       ## %bb.0:122; CHECK-NEXT:    vrndscaleph $12, %zmm0, %zmm0123; CHECK-NEXT:    retq124  %t = call <32 x half> @llvm.nearbyint.v32f16(<32 x half> %p)125  ret <32 x half> %t126}127 128declare <8 x half> @llvm.rint.v8f16(<8 x half>)129declare <16 x half> @llvm.rint.v16f16(<16 x half>)130declare <32 x half> @llvm.rint.v32f16(<32 x half>)131 132define <8 x half> @rint_v8f16(<8 x half> %p) {133; CHECK-LABEL: rint_v8f16:134; CHECK:       ## %bb.0:135; CHECK-NEXT:    vrndscaleph $4, %xmm0, %xmm0136; CHECK-NEXT:    retq137  %t = call <8 x half> @llvm.rint.v8f16(<8 x half> %p)138  ret <8 x half> %t139}140 141define <16 x half> @rint_v16f16(<16 x half> %p) {142; CHECK-LABEL: rint_v16f16:143; CHECK:       ## %bb.0:144; CHECK-NEXT:    vrndscaleph $4, %ymm0, %ymm0145; CHECK-NEXT:    retq146  %t = call <16 x half> @llvm.rint.v16f16(<16 x half> %p)147  ret <16 x half> %t148}149 150define <32 x half> @rint_v32f16(<32 x half> %p) {151; CHECK-LABEL: rint_v32f16:152; CHECK:       ## %bb.0:153; CHECK-NEXT:    vrndscaleph $4, %zmm0, %zmm0154; CHECK-NEXT:    retq155  %t = call <32 x half> @llvm.rint.v32f16(<32 x half> %p)156  ret <32 x half> %t157}158