
Many tests had this flag removed because of the G_BITCAST emission issue. Now that the PR is merged, we can re-enable this additional check. 2 tests (basic_int_types) just have the TODO removed because they are not useful for SPIR-V as-is: SPIR-V requires reg2mem/mem2reg to run, which removes all the body. Integers are used in other spirv tests, and seems like testing for spirv32/64 and relying on others for the logical target coverage should be fine. Signed-off-by: Nathan Gauër <brioche@google.com>
39 lines
1.2 KiB
LLVM
39 lines
1.2 KiB
LLVM
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
|
|
; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
|
|
|
|
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
|
|
; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
|
|
|
|
; CHECK: %[[#F32:]] = OpTypeFloat 32
|
|
; CHECK: %[[#F64:]] = OpTypeFloat 64
|
|
|
|
define void @main() {
|
|
entry:
|
|
|
|
; CHECK: OpConstant %[[#F32]] 0.5
|
|
%f = alloca float, align 4
|
|
store float 5.000000e-01, ptr %f, align 4
|
|
|
|
; CHECK: OpConstant %[[#F64]] 0.5
|
|
%d = alloca double, align 8
|
|
store double 5.000000e-01, ptr %d, align 8
|
|
|
|
; CHECK: OpConstant %[[#F32]] 1.0000016166037976e-39
|
|
%hexf = alloca float, align 4
|
|
store float 0x37D5C73200000000, ptr %hexf, align 4
|
|
|
|
; CHECK: OpConstant %[[#F32]] 0x1p+128
|
|
%inf = alloca float, align 4
|
|
store float 0x7FF0000000000000, ptr %inf, align 4
|
|
|
|
; CHECK: OpConstant %[[#F32]] -0x1p+128
|
|
%ninf = alloca float, align 4
|
|
store float 0xFFF0000000000000, ptr %ninf, align 4
|
|
|
|
; CHECK: OpConstant %[[#F32]] 0x1.8p+128
|
|
%nan = alloca float, align 4
|
|
store float 0x7FF8000000000000, ptr %nan, align 4
|
|
|
|
ret void
|
|
}
|