brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 170c120 Raw
87 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_89 -mattr=+ptx81 | FileCheck %s2; RUN: %if ptxas-sm_89 && ptxas-isa-8.1 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_89 -mattr=+ptx81 | %ptxas-verify -arch=sm_89 %}3 4; CHECK-LABEL: cvt_rn_e4m3x2_f325define i16 @cvt_rn_e4m3x2_f32(float %f1, float %f2) {6; CHECK: cvt.rn.satfinite.e4m3x2.f327  %val = call i16 @llvm.nvvm.ff.to.e4m3x2.rn(float %f1, float %f2);8  ret i16 %val9}10 11; CHECK-LABEL: cvt_rn_relu_e4m3x2_f3212define i16 @cvt_rn_relu_e4m3x2_f32(float %f1, float %f2) {13; CHECK: cvt.rn.satfinite.relu.e4m3x2.f3214  %val = call i16 @llvm.nvvm.ff.to.e4m3x2.rn.relu(float %f1, float %f2);15  ret i16 %val16}17 18; CHECK-LABEL: cvt_rn_e5m2x2_f3219define i16 @cvt_rn_e5m2x2_f32(float %f1, float %f2) {20; CHECK: cvt.rn.satfinite.e5m2x2.f3221  %val = call i16 @llvm.nvvm.ff.to.e5m2x2.rn(float %f1, float %f2);22  ret i16 %val23}24 25; CHECK-LABEL: cvt_rn_relu_e5m2x2_f3226define i16 @cvt_rn_relu_e5m2x2_f32(float %f1, float %f2) {27; CHECK: cvt.rn.satfinite.relu.e5m2x2.f3228  %val = call i16 @llvm.nvvm.ff.to.e5m2x2.rn.relu(float %f1, float %f2);29  ret i16 %val30}31 32; CHECK-LABEL: cvt_rn_e4m3x2_f16x233define i16 @cvt_rn_e4m3x2_f16x2(<2 x half> %in) {34; CHECK: cvt.rn.satfinite.e4m3x2.f16x235  %val = call i16 @llvm.nvvm.f16x2.to.e4m3x2.rn(<2 x half> %in);36  ret i16 %val37}38 39; CHECK-LABEL: cvt_rn_relu_e4m3x2_f16x240define i16 @cvt_rn_relu_e4m3x2_f16x2(<2 x half> %in) {41; CHECK: cvt.rn.satfinite.relu.e4m3x2.f16x242  %val = call i16 @llvm.nvvm.f16x2.to.e4m3x2.rn.relu(<2 x half> %in);43  ret i16 %val44}45 46; CHECK-LABEL: cvt_rn_e5m2x2_f16x247define i16 @cvt_rn_e5m2x2_f16x2(<2 x half> %in) {48; CHECK: cvt.rn.satfinite.e5m2x2.f16x249  %val = call i16 @llvm.nvvm.f16x2.to.e5m2x2.rn(<2 x half> %in);50  ret i16 %val51}52 53; CHECK-LABEL: cvt_rn_relu_e5m2x2_f16x254define i16 @cvt_rn_relu_e5m2x2_f16x2(<2 x half> %in) {55; CHECK: cvt.rn.satfinite.relu.e5m2x2.f16x256  %val = call i16 @llvm.nvvm.f16x2.to.e5m2x2.rn.relu(<2 x half> %in);57  ret i16 %val58}59 60; CHECK-LABEL: cvt_rn_f16x2_e4m3x261define <2 x half> @cvt_rn_f16x2_e4m3x2(i16 %in) {62; CHECK: cvt.rn.f16x2.e4m3x263  %val = call <2 x half> @llvm.nvvm.e4m3x2.to.f16x2.rn(i16 %in);64  ret <2 x half> %val65}66 67; CHECK-LABEL: cvt_rn_relu_f16x2_e4m3x268define <2 x half> @cvt_rn_relu_f16x2_e4m3x2(i16 %in) {69; CHECK: cvt.rn.relu.f16x2.e4m3x270  %val = call <2 x half> @llvm.nvvm.e4m3x2.to.f16x2.rn.relu(i16 %in);71  ret <2 x half> %val72}73 74; CHECK-LABEL: cvt_rn_f16x2_e5m2x275define <2 x half> @cvt_rn_f16x2_e5m2x2(i16 %in) {76; CHECK: cvt.rn.f16x2.e5m2x277  %val = call <2 x half> @llvm.nvvm.e5m2x2.to.f16x2.rn(i16 %in);78  ret <2 x half> %val79}80 81; CHECK-LABEL: cvt_rn_relu_f16x2_e5m2x282define <2 x half> @cvt_rn_relu_f16x2_e5m2x2(i16 %in) {83; CHECK: cvt.rn.relu.f16x2.e5m2x284  %val = call <2 x half> @llvm.nvvm.e5m2x2.to.f16x2.rn.relu(i16 %in);85  ret <2 x half> %val86}87