1 ; RUN: llc -O0 -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s
2 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4 ; CHECK: OpMemoryModel Logical GLSL450
6 define noundef i32 @reversebits_i32(i32 noundef %a) {
8 ; CHECK: %[[#]] = OpBitReverse %[[#]] %[[#]]
9 %elt.bitreverse = call i32 @llvm.bitreverse.i32(i32 %a)
10 ret i32 %elt.bitreverse
13 define noundef i16 @reversebits_i16(i16 noundef %a) {
15 ; CHECK: %[[#]] = OpBitReverse %[[#]] %[[#]]
16 %elt.bitreverse = call i16 @llvm.bitreverse.i16(i16 %a)
17 ret i16 %elt.bitreverse
20 declare i16 @llvm.bitreverse.i16(i16)
21 declare i32 @llvm.bitreverse.i32(i32)