blob: 987efba19934d5c58d3630b0c0ff1b84c5c18447 [file] [log] [blame]
Vyacheslav Levytskyyf9c98062024-08-12 15:49:43 +02001; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3
4; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
5; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
6
Vyacheslav Levytskyy54cc4142025-03-26 17:58:10 +01007; CHECK-DAG: %[[#F32:]] = OpTypeFloat 32
8; CHECK-DAG: %[[#F64:]] = OpTypeFloat 64
9; CHECK-DAG: OpConstant %[[#F32]] 0.5{{$}}
10; CHECK-DAG: OpConstant %[[#F64]] 0.5{{$}}
11; CHECK-DAG: OpConstant %[[#F32]] 1.0000016166037976e-39{{$}}
12; CHECK-DAG: OpConstant %[[#F32]] 0x1p+128{{$}}
13; CHECK-DAG: OpConstant %[[#F32]] -0x1p+128{{$}}
14; CHECK-DAG: OpConstant %[[#F32]] 0x1.8p+128{{$}}
Natalie Chouinard47a377d2023-09-01 19:13:18 +000015
16define void @main() {
17entry:
Natalie Chouinard47a377d2023-09-01 19:13:18 +000018 %f = alloca float, align 4
19 store float 5.000000e-01, ptr %f, align 4
Natalie Chouinard47a377d2023-09-01 19:13:18 +000020 %d = alloca double, align 8
21 store double 5.000000e-01, ptr %d, align 8
Natalie Chouinard47a377d2023-09-01 19:13:18 +000022 %hexf = alloca float, align 4
23 store float 0x37D5C73200000000, ptr %hexf, align 4
Natalie Chouinard47a377d2023-09-01 19:13:18 +000024 %inf = alloca float, align 4
25 store float 0x7FF0000000000000, ptr %inf, align 4
Natalie Chouinard47a377d2023-09-01 19:13:18 +000026 %ninf = alloca float, align 4
27 store float 0xFFF0000000000000, ptr %ninf, align 4
Natalie Chouinard47a377d2023-09-01 19:13:18 +000028 %nan = alloca float, align 4
29 store float 0x7FF8000000000000, ptr %nan, align 4
Natalie Chouinard47a377d2023-09-01 19:13:18 +000030 ret void
31}