aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/SPIRV/literals.ll
blob: 987efba19934d5c58d3630b0c0ff1b84c5c18447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
; 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-DAG: %[[#F32:]] = OpTypeFloat 32
; CHECK-DAG: %[[#F64:]] = OpTypeFloat 64
; CHECK-DAG: OpConstant %[[#F32]] 0.5{{$}}
; CHECK-DAG: OpConstant %[[#F64]] 0.5{{$}}
; CHECK-DAG: OpConstant %[[#F32]] 1.0000016166037976e-39{{$}}
; CHECK-DAG: OpConstant %[[#F32]] 0x1p+128{{$}}
; CHECK-DAG: OpConstant %[[#F32]] -0x1p+128{{$}}
; CHECK-DAG: OpConstant %[[#F32]] 0x1.8p+128{{$}}

define void @main() {
entry:
  %f = alloca float, align 4
  store float 5.000000e-01, ptr %f, align 4
  %d = alloca double, align 8
  store double 5.000000e-01, ptr %d, align 8
  %hexf = alloca float, align 4
  store float 0x37D5C73200000000, ptr %hexf, align 4
  %inf = alloca float, align 4
  store float 0x7FF0000000000000, ptr %inf, align 4
  %ninf = alloca float, align 4
  store float 0xFFF0000000000000, ptr %ninf, align 4
  %nan = alloca float, align 4
  store float 0x7FF8000000000000, ptr %nan, align 4
  ret void
}