2010-04-28 10:30:49 +02:00
|
|
|
; RUN: llc < %s -march=x86 | FileCheck %s
|
|
|
|
|
|
|
|
define signext i16 @foo(i16 signext %x) nounwind {
|
|
|
|
entry:
|
|
|
|
; CHECK: foo:
|
2011-06-16 03:15:49 +02:00
|
|
|
; CHECK-NOT: movzwl
|
2011-06-16 03:35:45 +02:00
|
|
|
; CHECK: movswl 4(%esp), %eax
|
2011-06-16 03:15:49 +02:00
|
|
|
; CHECK: xorl $21998, %eax
|
2010-04-28 10:30:49 +02:00
|
|
|
%0 = xor i16 %x, 21998
|
|
|
|
ret i16 %0
|
|
|
|
}
|
2011-06-16 03:15:49 +02:00
|
|
|
|
|
|
|
define signext i16 @bar(i16 signext %x) nounwind {
|
|
|
|
entry:
|
|
|
|
; CHECK: bar:
|
|
|
|
; CHECK-NOT: movzwl
|
2011-06-16 03:35:45 +02:00
|
|
|
; CHECK: movswl 4(%esp), %eax
|
2011-06-16 03:15:49 +02:00
|
|
|
; CHECK: xorl $-10770, %eax
|
|
|
|
%0 = xor i16 %x, 54766
|
|
|
|
ret i16 %0
|
|
|
|
}
|