mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-30 23:42:52 +01:00
df2896d609
llvm-svn: 81290
19 lines
426 B
LLVM
19 lines
426 B
LLVM
; RUN: llc < %s -march=x86-64 | grep movzbl | count 2
|
|
|
|
; Use movzbl to avoid partial-register updates.
|
|
|
|
define i32 @foo(i32 %p, i8 zeroext %x) nounwind {
|
|
%q = trunc i32 %p to i8
|
|
%r = udiv i8 %q, %x
|
|
%s = zext i8 %r to i32
|
|
%t = and i32 %s, 1
|
|
ret i32 %t
|
|
}
|
|
define i32 @bar(i32 %p, i16 zeroext %x) nounwind {
|
|
%q = trunc i32 %p to i16
|
|
%r = udiv i16 %q, %x
|
|
%s = zext i16 %r to i32
|
|
%t = and i32 %s, 1
|
|
ret i32 %t
|
|
}
|