mirror of
https://github.com/EmbarkStudios/rust-gpu.git
synced 2024-10-29 21:42:20 +00:00
Add test for issue #1062 (bit rotates being completely broken).
This commit is contained in:
parent
e96418f9fa
commit
59d2d2a10e
13
tests/ui/dis/issue-1062.rs
Normal file
13
tests/ui/dis/issue-1062.rs
Normal file
@ -0,0 +1,13 @@
|
||||
#![crate_name = "issue_1062"]
|
||||
|
||||
// Test that rotates take the correct path for non-zero bit amounts.
|
||||
|
||||
// build-pass
|
||||
// compile-flags: -C llvm-args=--disassemble-entry=main
|
||||
|
||||
use spirv_std::spirv;
|
||||
|
||||
#[spirv(fragment)]
|
||||
pub fn main(#[spirv(flat)] x: u32, #[spirv(flat)] s: u32, out: &mut (u32, u32)) {
|
||||
*out = (x.rotate_left(s), x.rotate_right(s));
|
||||
}
|
29
tests/ui/dis/issue-1062.stderr
Normal file
29
tests/ui/dis/issue-1062.stderr
Normal file
@ -0,0 +1,29 @@
|
||||
%1 = OpFunction %2 None %3
|
||||
%4 = OpLabel
|
||||
OpLine %5 11 12
|
||||
%6 = OpLoad %7 %8
|
||||
OpLine %5 11 35
|
||||
%9 = OpLoad %7 %10
|
||||
OpLine %11 1142 4
|
||||
%12 = OpBitwiseAnd %7 %9 %13
|
||||
%14 = OpISub %7 %15 %12
|
||||
%16 = OpShiftLeftLogical %7 %6 %12
|
||||
%17 = OpShiftRightLogical %7 %6 %14
|
||||
%18 = OpBitwiseOr %7 %16 %17
|
||||
%19 = OpINotEqual %20 %12 %21
|
||||
%22 = OpSelect %7 %19 %6 %18
|
||||
%23 = OpBitwiseAnd %7 %9 %13
|
||||
%24 = OpISub %7 %15 %23
|
||||
%25 = OpShiftRightLogical %7 %6 %23
|
||||
%26 = OpShiftLeftLogical %7 %6 %24
|
||||
%27 = OpBitwiseOr %7 %25 %26
|
||||
%28 = OpINotEqual %20 %23 %21
|
||||
%29 = OpSelect %7 %28 %6 %27
|
||||
OpLine %5 12 4
|
||||
%30 = OpAccessChain %31 %32 %21
|
||||
OpStore %30 %22
|
||||
%33 = OpAccessChain %31 %32 %34
|
||||
OpStore %33 %29
|
||||
OpNoLine
|
||||
OpReturn
|
||||
OpFunctionEnd
|
Loading…
Reference in New Issue
Block a user