Guozhi Wei | ed28e74 | 2017-03-02 21:07:59 +0000 | [diff] [blame^] | 1 | ; RUN: llc -O2 < %s | FileCheck %s |
2 | target triple = "powerpc64le-linux-gnu" | ||||
3 | |||||
4 | define void @foo(i32 %v, i16* %p) { | ||||
5 | %1 = and i32 %v, -65536 | ||||
6 | %2 = tail call i32 @llvm.bswap.i32(i32 %1) | ||||
7 | %conv = trunc i32 %2 to i16 | ||||
8 | store i16 %conv, i16* %p | ||||
9 | ret void | ||||
10 | |||||
11 | ; CHECK: srwi | ||||
12 | ; CHECK: sthbrx | ||||
13 | ; CHECK-NOT: stwbrx | ||||
14 | } | ||||
15 | |||||
16 | declare i32 @llvm.bswap.i32(i32) |