aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/ARM/cmp-select-sign.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM/cmp-select-sign.ll')
-rw-r--r--llvm/test/CodeGen/ARM/cmp-select-sign.ll32
1 files changed, 16 insertions, 16 deletions
diff --git a/llvm/test/CodeGen/ARM/cmp-select-sign.ll b/llvm/test/CodeGen/ARM/cmp-select-sign.ll
index 298a623..61cdc3b 100644
--- a/llvm/test/CodeGen/ARM/cmp-select-sign.ll
+++ b/llvm/test/CodeGen/ARM/cmp-select-sign.ll
@@ -75,31 +75,31 @@ define i4 @sign_i4(i4 %a) {
define i8 @sign_i8(i8 %a) {
; ARM-LABEL: sign_i8:
; ARM: @ %bb.0:
-; ARM-NEXT: lsl r0, r0, #24
+; ARM-NEXT: sxtb r0, r0
; ARM-NEXT: mov r1, #1
-; ARM-NEXT: orr r0, r1, r0, asr #31
+; ARM-NEXT: orr r0, r1, r0, asr #7
; ARM-NEXT: bx lr
;
; THUMB-LABEL: sign_i8:
; THUMB: @ %bb.0:
-; THUMB-NEXT: lsls r0, r0, #24
-; THUMB-NEXT: asrs r1, r0, #31
+; THUMB-NEXT: sxtb r0, r0
+; THUMB-NEXT: asrs r1, r0, #7
; THUMB-NEXT: movs r0, #1
; THUMB-NEXT: orrs r0, r1
; THUMB-NEXT: bx lr
;
; THUMB2-LABEL: sign_i8:
; THUMB2: @ %bb.0:
-; THUMB2-NEXT: lsls r0, r0, #24
+; THUMB2-NEXT: sxtb r0, r0
; THUMB2-NEXT: movs r1, #1
-; THUMB2-NEXT: orr.w r0, r1, r0, asr #31
+; THUMB2-NEXT: orr.w r0, r1, r0, asr #7
; THUMB2-NEXT: bx lr
;
; THUMBV8-LABEL: sign_i8:
; THUMBV8: @ %bb.0:
-; THUMBV8-NEXT: lsls r0, r0, #24
+; THUMBV8-NEXT: sxtb r0, r0
; THUMBV8-NEXT: movs r1, #1
-; THUMBV8-NEXT: orr.w r0, r1, r0, asr #31
+; THUMBV8-NEXT: orr.w r0, r1, r0, asr #7
; THUMBV8-NEXT: bx lr
%c = icmp sgt i8 %a, -1
%res = select i1 %c, i8 1, i8 -1
@@ -109,31 +109,31 @@ define i8 @sign_i8(i8 %a) {
define i16 @sign_i16(i16 %a) {
; ARM-LABEL: sign_i16:
; ARM: @ %bb.0:
-; ARM-NEXT: lsl r0, r0, #16
+; ARM-NEXT: sxth r0, r0
; ARM-NEXT: mov r1, #1
-; ARM-NEXT: orr r0, r1, r0, asr #31
+; ARM-NEXT: orr r0, r1, r0, asr #15
; ARM-NEXT: bx lr
;
; THUMB-LABEL: sign_i16:
; THUMB: @ %bb.0:
-; THUMB-NEXT: lsls r0, r0, #16
-; THUMB-NEXT: asrs r1, r0, #31
+; THUMB-NEXT: sxth r0, r0
+; THUMB-NEXT: asrs r1, r0, #15
; THUMB-NEXT: movs r0, #1
; THUMB-NEXT: orrs r0, r1
; THUMB-NEXT: bx lr
;
; THUMB2-LABEL: sign_i16:
; THUMB2: @ %bb.0:
-; THUMB2-NEXT: lsls r0, r0, #16
+; THUMB2-NEXT: sxth r0, r0
; THUMB2-NEXT: movs r1, #1
-; THUMB2-NEXT: orr.w r0, r1, r0, asr #31
+; THUMB2-NEXT: orr.w r0, r1, r0, asr #15
; THUMB2-NEXT: bx lr
;
; THUMBV8-LABEL: sign_i16:
; THUMBV8: @ %bb.0:
-; THUMBV8-NEXT: lsls r0, r0, #16
+; THUMBV8-NEXT: sxth r0, r0
; THUMBV8-NEXT: movs r1, #1
-; THUMBV8-NEXT: orr.w r0, r1, r0, asr #31
+; THUMBV8-NEXT: orr.w r0, r1, r0, asr #15
; THUMBV8-NEXT: bx lr
%c = icmp sgt i16 %a, -1
%res = select i1 %c, i16 1, i16 -1