brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 5764e95 Raw
50 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s2 3define half @getConstantFP16() {4  ret half 0x3ff1340000000000 ; 0x3c4d represented as double.5}6 7define float @getConstantFP32() {8  ret float 0x3fd27c8be0000000 ; 0x3e93e45f represented as double9}10 11define double @getConstantFP64() {12  ret double 0x4f2de42b8c68f3f113}14 15;; Capabilities16; CHECK-DAG: OpCapability Float1617; CHECK-DAG: OpCapability Float6418 19; CHECK-NOT: DAG-FENCE20 21;; Names:22; CHECK-DAG: OpName %[[#GET_FP16:]] "getConstantFP16"23; CHECK-DAG: OpName %[[#GET_FP32:]] "getConstantFP32"24; CHECK-DAG: OpName %[[#GET_FP64:]] "getConstantFP64"25 26; CHECK-NOT: DAG-FENCE27 28;; Types and Constants:29;; NOTE: These tests don't actually check the values of the constants because30;;       their representation isn't defined for textual output.31;; TODO: Test constant representation using binary output.32; CHECK-DAG: %[[#FP16:]] = OpTypeFloat 1633; CHECK-DAG: %[[#FP32:]] = OpTypeFloat 3234; CHECK-DAG: %[[#FP64:]] = OpTypeFloat 6435; CHECK-DAG: %[[#CST_FP16:]] = OpConstant %[[#FP16]]36; CHECK-DAG: %[[#CST_FP32:]] = OpConstant %[[#FP32]]37; CHECK-DAG: %[[#CST_FP64:]] = OpConstant %[[#FP64]]38 39; CHECK: %[[#GET_FP16]] = OpFunction %[[#FP16]]40; CHECK: OpReturnValue %[[#CST_FP16]]41; CHECK: OpFunctionEnd42 43; CHECK: %[[#GET_FP32]] = OpFunction %[[#FP32]]44; CHECK: OpReturnValue %[[#CST_FP32]]45; CHECK: OpFunctionEnd46 47; CHECK: %[[#GET_FP64]] = OpFunction %[[#FP64]]48; CHECK: OpReturnValue %[[#CST_FP64]]49; CHECK: OpFunctionEnd50