1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=powerpc64le-unknown-unknown -verify-machineinstrs < %s | \
4 ; RUN: llc -mtriple=powerpc64-unknown-unknown -verify-machineinstrs < %s | \
7 define void @pr39478() {
8 ; CHECK-LABEL: pr39478:
9 ; CHECK: # %bb.0: # %entry
10 ; CHECK-NEXT: lwz 3, 0(3)
11 ; CHECK-NEXT: stb 3, 0(3)
14 %tmp32 = load i64, i64* undef, align 8
15 %tmp33 = load i32, i32* undef, align 4
16 %tmp34 = and i32 %tmp33, -256
17 %tmp35 = lshr i64 %tmp32, 32
18 %tmp36 = shl nuw nsw i64 %tmp35, 24
19 %tmp37 = trunc i64 %tmp36 to i32
20 %tmp38 = call i32 @llvm.bswap.i32(i32 %tmp37)
21 %tmp39 = or i32 %tmp38, %tmp34
22 store i32 %tmp39, i32* undef, align 4
26 declare i32 @llvm.bswap.i32(i32)