2016-02-19 02:44:33 +08:00
|
|
|
; RUN: llc < %s -mtriple=i686-unknown-linux-gnu | FileCheck %s
|
2010-04-28 16:30:49 +08:00
|
|
|
|
|
|
|
define signext i16 @foo(i16 signext %x) nounwind {
|
|
|
|
entry:
|
2013-07-14 14:24:09 +08:00
|
|
|
; CHECK-LABEL: foo:
|
2016-02-09 03:34:30 +08:00
|
|
|
; CHECK: movzwl 4(%esp), %eax
|
|
|
|
; CHECK-NEXT: xorl $21998, %eax
|
2016-07-09 08:19:07 +08:00
|
|
|
; CHECK-NEXT: # kill
|
2016-02-09 03:34:30 +08:00
|
|
|
; CHECK-NEXT: retl
|
2010-04-28 16:30:49 +08:00
|
|
|
%0 = xor i16 %x, 21998
|
|
|
|
ret i16 %0
|
|
|
|
}
|
2011-06-16 09:15:49 +08:00
|
|
|
|
|
|
|
define signext i16 @bar(i16 signext %x) nounwind {
|
|
|
|
entry:
|
2013-07-14 14:24:09 +08:00
|
|
|
; CHECK-LABEL: bar:
|
2016-02-09 03:34:30 +08:00
|
|
|
; CHECK: movzwl 4(%esp), %eax
|
|
|
|
; CHECK-NEXT: xorl $54766, %eax
|
2016-07-09 08:19:07 +08:00
|
|
|
; CHECK-NEXT: # kill
|
2016-02-09 03:34:30 +08:00
|
|
|
; CHECK-NEXT: retl
|
2011-06-16 09:15:49 +08:00
|
|
|
%0 = xor i16 %x, 54766
|
|
|
|
ret i16 %0
|
|
|
|
}
|