forked from OSchip/llvm-project
[X86] Add zeroext attributes to i8/i16 and/or/xor overflow tests
Matches original c/c++ test cases
This commit is contained in:
parent
b9b708eef8
commit
68d62fe068
|
@ -6,7 +6,7 @@
|
||||||
; PR48768 - 'and' clears the overflow flag, so we don't need a separate 'test'.
|
; PR48768 - 'and' clears the overflow flag, so we don't need a separate 'test'.
|
||||||
;
|
;
|
||||||
|
|
||||||
define i8 @and_i8_ri(i8 %0, i8 %1) {
|
define i8 @and_i8_ri(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: and_i8_ri:
|
; X86-LABEL: and_i8_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -32,7 +32,7 @@ define i8 @and_i8_ri(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i8 @and_i8_rr(i8 %0, i8 %1) {
|
define i8 @and_i8_rr(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: and_i8_rr:
|
; X86-LABEL: and_i8_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -58,7 +58,7 @@ define i8 @and_i8_rr(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @and_i16_ri(i16 %0, i16 %1) {
|
define i16 @and_i16_ri(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: and_i16_ri:
|
; X86-LABEL: and_i16_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
@ -86,7 +86,7 @@ define i16 @and_i16_ri(i16 %0, i16 %1) {
|
||||||
ret i16 %5
|
ret i16 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @and_i16_rr(i16 %0, i16 %1) {
|
define i16 @and_i16_rr(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: and_i16_rr:
|
; X86-LABEL: and_i16_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
; PR48768 - 'or' clears the overflow flag, so we don't need a separate 'test'.
|
; PR48768 - 'or' clears the overflow flag, so we don't need a separate 'test'.
|
||||||
;
|
;
|
||||||
|
|
||||||
define i8 @or_i8_ri(i8 %0, i8 %1) {
|
define i8 @or_i8_ri(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: or_i8_ri:
|
; X86-LABEL: or_i8_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -32,7 +32,7 @@ define i8 @or_i8_ri(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i8 @or_i8_rr(i8 %0, i8 %1) {
|
define i8 @or_i8_rr(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: or_i8_rr:
|
; X86-LABEL: or_i8_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -58,7 +58,7 @@ define i8 @or_i8_rr(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @or_i16_ri(i16 %0, i16 %1) {
|
define i16 @or_i16_ri(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: or_i16_ri:
|
; X86-LABEL: or_i16_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
@ -86,7 +86,7 @@ define i16 @or_i16_ri(i16 %0, i16 %1) {
|
||||||
ret i16 %5
|
ret i16 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @or_i16_rr(i16 %0, i16 %1) {
|
define i16 @or_i16_rr(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: or_i16_rr:
|
; X86-LABEL: or_i16_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
; PR48768 - 'xor' clears the overflow flag, so we don't need a separate 'test'.
|
; PR48768 - 'xor' clears the overflow flag, so we don't need a separate 'test'.
|
||||||
;
|
;
|
||||||
|
|
||||||
define i8 @xor_i8_ri(i8 %0, i8 %1) {
|
define i8 @xor_i8_ri(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: xor_i8_ri:
|
; X86-LABEL: xor_i8_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -32,7 +32,7 @@ define i8 @xor_i8_ri(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i8 @xor_i8_rr(i8 %0, i8 %1) {
|
define i8 @xor_i8_rr(i8 zeroext %0, i8 zeroext %1) {
|
||||||
; X86-LABEL: xor_i8_rr:
|
; X86-LABEL: xor_i8_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
; X86-NEXT: movb {{[0-9]+}}(%esp), %al
|
||||||
|
@ -58,7 +58,7 @@ define i8 @xor_i8_rr(i8 %0, i8 %1) {
|
||||||
ret i8 %5
|
ret i8 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @xor_i16_ri(i16 %0, i16 %1) {
|
define i16 @xor_i16_ri(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: xor_i16_ri:
|
; X86-LABEL: xor_i16_ri:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
@ -86,7 +86,7 @@ define i16 @xor_i16_ri(i16 %0, i16 %1) {
|
||||||
ret i16 %5
|
ret i16 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @xor_i16_rr(i16 %0, i16 %1) {
|
define i16 @xor_i16_rr(i16 zeroext %0, i16 zeroext %1) {
|
||||||
; X86-LABEL: xor_i16_rr:
|
; X86-LABEL: xor_i16_rr:
|
||||||
; X86: # %bb.0:
|
; X86: # %bb.0:
|
||||||
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
|
Loading…
Reference in New Issue