-void %test20(uint %A, uint %B) { ; The "swap idiom"
- %tmp.2 = xor uint %B, %A
- %tmp.5 = xor uint %tmp.2, %B
- %tmp.8 = xor uint %tmp.5, %tmp.2
- store uint %tmp.8, uint* %G1 ; tmp.8 = B
- store uint %tmp.5, uint* %G2 ; tmp.5 = A
- ret void
+define void @test20(i32 %A, i32 %B) {
+ %tmp.2 = xor i32 %B, %A ; <i32> [#uses=2]
+ %tmp.5 = xor i32 %tmp.2, %B ; <i32> [#uses=2]
+ %tmp.8 = xor i32 %tmp.5, %tmp.2 ; <i32> [#uses=1]
+ store i32 %tmp.8, i32* @G1
+ store i32 %tmp.5, i32* @G2
+ ret void