[X86] Regenerate PR32284.ll test case prefixes. NFC.

Use X64 for 64-bit targets and X86 for 32-bit targets
This commit is contained in:
Simon Pilgrim 2021-04-13 18:54:00 +01:00
parent 016ceb8382
commit 62af2af85d
1 changed files with 349 additions and 349 deletions
llvm/test/CodeGen/X86

View File

@ -1,39 +1,39 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -O0 -mtriple=x86_64-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=X86-O0
; RUN: llc -O0 -mtriple=x86_64-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=X64-O0
; RUN: llc -mtriple=x86_64-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=X64
; RUN: llc -O0 -mtriple=i686-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=686-O0
; RUN: llc -mtriple=i686-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=686
; RUN: llc -O0 -mtriple=i686-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=X86-O0
; RUN: llc -mtriple=i686-unknown -mcpu=skx -o - %s | FileCheck %s --check-prefix=X86
@c = external dso_local constant i8, align 1
define void @foo() {
; X86-O0-LABEL: foo:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: movzbl c, %ecx
; X86-O0-NEXT: xorl %eax, %eax
; X86-O0-NEXT: subl %ecx, %eax
; X86-O0-NEXT: movslq %eax, %rcx
; X86-O0-NEXT: xorl %eax, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: subq %rcx, %rax
; X86-O0-NEXT: # kill: def $al killed $al killed $rax
; X86-O0-NEXT: cmpb $0, %al
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movb %al, -{{[0-9]+}}(%rsp)
; X86-O0-NEXT: cmpb $0, c
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movzbl c, %ecx
; X86-O0-NEXT: cmpl %ecx, %eax
; X86-O0-NEXT: setle %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
; X86-O0-NEXT: retq
; X64-O0-LABEL: foo:
; X64-O0: # %bb.0: # %entry
; X64-O0-NEXT: movzbl c, %ecx
; X64-O0-NEXT: xorl %eax, %eax
; X64-O0-NEXT: subl %ecx, %eax
; X64-O0-NEXT: movslq %eax, %rcx
; X64-O0-NEXT: xorl %eax, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: subq %rcx, %rax
; X64-O0-NEXT: # kill: def $al killed $al killed $rax
; X64-O0-NEXT: cmpb $0, %al
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movb %al, -{{[0-9]+}}(%rsp)
; X64-O0-NEXT: cmpb $0, c
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: xorb $-1, %al
; X64-O0-NEXT: xorb $-1, %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: movzbl c, %ecx
; X64-O0-NEXT: cmpl %ecx, %eax
; X64-O0-NEXT: setle %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
; X64-O0-NEXT: retq
;
; X64-LABEL: foo:
; X64: # %bb.0: # %entry
@ -49,47 +49,47 @@ define void @foo() {
; X64-NEXT: movl %edx, -{{[0-9]+}}(%rsp)
; X64-NEXT: retq
;
; 686-O0-LABEL: foo:
; 686-O0: # %bb.0: # %entry
; 686-O0-NEXT: subl $8, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 12
; 686-O0-NEXT: movb c, %al
; 686-O0-NEXT: cmpb $0, %al
; 686-O0-NEXT: setne %al
; 686-O0-NEXT: andb $1, %al
; 686-O0-NEXT: movb %al, {{[0-9]+}}(%esp)
; 686-O0-NEXT: cmpb $0, c
; 686-O0-NEXT: setne %al
; 686-O0-NEXT: xorb $-1, %al
; 686-O0-NEXT: xorb $-1, %al
; 686-O0-NEXT: andb $1, %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movzbl c, %ecx
; 686-O0-NEXT: cmpl %ecx, %eax
; 686-O0-NEXT: setle %al
; 686-O0-NEXT: andb $1, %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movl %eax, (%esp)
; 686-O0-NEXT: addl $8, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 4
; 686-O0-NEXT: retl
; X86-O0-LABEL: foo:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: subl $8, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 12
; X86-O0-NEXT: movb c, %al
; X86-O0-NEXT: cmpb $0, %al
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movb %al, {{[0-9]+}}(%esp)
; X86-O0-NEXT: cmpb $0, c
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movzbl c, %ecx
; X86-O0-NEXT: cmpl %ecx, %eax
; X86-O0-NEXT: setle %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movl %eax, (%esp)
; X86-O0-NEXT: addl $8, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 4
; X86-O0-NEXT: retl
;
; 686-LABEL: foo:
; 686: # %bb.0: # %entry
; 686-NEXT: subl $8, %esp
; 686-NEXT: .cfi_def_cfa_offset 12
; 686-NEXT: movzbl c, %eax
; 686-NEXT: xorl %ecx, %ecx
; 686-NEXT: testl %eax, %eax
; 686-NEXT: setne {{[0-9]+}}(%esp)
; 686-NEXT: setne %cl
; 686-NEXT: xorl %edx, %edx
; 686-NEXT: cmpl %eax, %ecx
; 686-NEXT: setle %dl
; 686-NEXT: movl %edx, {{[0-9]+}}(%esp)
; 686-NEXT: addl $8, %esp
; 686-NEXT: .cfi_def_cfa_offset 4
; 686-NEXT: retl
; X86-LABEL: foo:
; X86: # %bb.0: # %entry
; X86-NEXT: subl $8, %esp
; X86-NEXT: .cfi_def_cfa_offset 12
; X86-NEXT: movzbl c, %eax
; X86-NEXT: xorl %ecx, %ecx
; X86-NEXT: testl %eax, %eax
; X86-NEXT: setne {{[0-9]+}}(%esp)
; X86-NEXT: setne %cl
; X86-NEXT: xorl %edx, %edx
; X86-NEXT: cmpl %eax, %ecx
; X86-NEXT: setle %dl
; X86-NEXT: movl %edx, {{[0-9]+}}(%esp)
; X86-NEXT: addl $8, %esp
; X86-NEXT: .cfi_def_cfa_offset 4
; X86-NEXT: retl
entry:
%a = alloca i8, align 1
%b = alloca i32, align 4
@ -120,41 +120,41 @@ entry:
@_ZN8struct_210member_2_0E = external dso_local global i64, align 8
define void @f1() {
; X86-O0-LABEL: f1:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: movslq var_5, %rax
; X86-O0-NEXT: movabsq $8381627093, %rcx # imm = 0x1F3957AD5
; X86-O0-NEXT: addq %rcx, %rax
; X86-O0-NEXT: cmpq $0, %rax
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movb %al, -{{[0-9]+}}(%rsp)
; X86-O0-NEXT: movl var_5, %eax
; X86-O0-NEXT: xorl $-1, %eax
; X86-O0-NEXT: cmpl $0, %eax
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: movslq var_5, %rcx
; X86-O0-NEXT: addq $7093, %rcx # imm = 0x1BB5
; X86-O0-NEXT: cmpq %rcx, %rax
; X86-O0-NEXT: setg %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: movq %rax, var_57
; X86-O0-NEXT: movl var_5, %eax
; X86-O0-NEXT: xorl $-1, %eax
; X86-O0-NEXT: cmpl $0, %eax
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: movq %rax, _ZN8struct_210member_2_0E
; X86-O0-NEXT: retq
; X64-O0-LABEL: f1:
; X64-O0: # %bb.0: # %entry
; X64-O0-NEXT: movslq var_5, %rax
; X64-O0-NEXT: movabsq $8381627093, %rcx # imm = 0x1F3957AD5
; X64-O0-NEXT: addq %rcx, %rax
; X64-O0-NEXT: cmpq $0, %rax
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movb %al, -{{[0-9]+}}(%rsp)
; X64-O0-NEXT: movl var_5, %eax
; X64-O0-NEXT: xorl $-1, %eax
; X64-O0-NEXT: cmpl $0, %eax
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: xorb $-1, %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: movslq var_5, %rcx
; X64-O0-NEXT: addq $7093, %rcx # imm = 0x1BB5
; X64-O0-NEXT: cmpq %rcx, %rax
; X64-O0-NEXT: setg %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: movq %rax, var_57
; X64-O0-NEXT: movl var_5, %eax
; X64-O0-NEXT: xorl $-1, %eax
; X64-O0-NEXT: cmpl $0, %eax
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: xorb $-1, %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: movq %rax, _ZN8struct_210member_2_0E
; X64-O0-NEXT: retq
;
; X64-LABEL: f1:
; X64: # %bb.0: # %entry
@ -176,81 +176,81 @@ define void @f1() {
; X64-NEXT: movq %rcx, {{.*}}(%rip)
; X64-NEXT: retq
;
; 686-O0-LABEL: f1:
; 686-O0: # %bb.0: # %entry
; 686-O0-NEXT: subl $1, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 5
; 686-O0-NEXT: movl var_5, %eax
; 686-O0-NEXT: movl %eax, %ecx
; 686-O0-NEXT: sarl $31, %ecx
; 686-O0-NEXT: xorl $208307499, %eax # imm = 0xC6A852B
; 686-O0-NEXT: xorl $-2, %ecx
; 686-O0-NEXT: orl %ecx, %eax
; 686-O0-NEXT: setne (%esp)
; 686-O0-NEXT: movl var_5, %ecx
; 686-O0-NEXT: movl %ecx, %eax
; 686-O0-NEXT: sarl $31, %eax
; 686-O0-NEXT: movl %ecx, %edx
; 686-O0-NEXT: subl $-1, %edx
; 686-O0-NEXT: sete %dl
; 686-O0-NEXT: movzbl %dl, %edx
; 686-O0-NEXT: addl $7093, %ecx # imm = 0x1BB5
; 686-O0-NEXT: adcl $0, %eax
; 686-O0-NEXT: subl %edx, %ecx
; 686-O0-NEXT: sbbl $0, %eax
; 686-O0-NEXT: setl %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movl %eax, var_57
; 686-O0-NEXT: movl $0, var_57+4
; 686-O0-NEXT: movl var_5, %eax
; 686-O0-NEXT: subl $-1, %eax
; 686-O0-NEXT: sete %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movl %eax, _ZN8struct_210member_2_0E
; 686-O0-NEXT: movl $0, _ZN8struct_210member_2_0E+4
; 686-O0-NEXT: addl $1, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 4
; 686-O0-NEXT: retl
; X86-O0-LABEL: f1:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: subl $1, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 5
; X86-O0-NEXT: movl var_5, %eax
; X86-O0-NEXT: movl %eax, %ecx
; X86-O0-NEXT: sarl $31, %ecx
; X86-O0-NEXT: xorl $208307499, %eax # imm = 0xC6A852B
; X86-O0-NEXT: xorl $-2, %ecx
; X86-O0-NEXT: orl %ecx, %eax
; X86-O0-NEXT: setne (%esp)
; X86-O0-NEXT: movl var_5, %ecx
; X86-O0-NEXT: movl %ecx, %eax
; X86-O0-NEXT: sarl $31, %eax
; X86-O0-NEXT: movl %ecx, %edx
; X86-O0-NEXT: subl $-1, %edx
; X86-O0-NEXT: sete %dl
; X86-O0-NEXT: movzbl %dl, %edx
; X86-O0-NEXT: addl $7093, %ecx # imm = 0x1BB5
; X86-O0-NEXT: adcl $0, %eax
; X86-O0-NEXT: subl %edx, %ecx
; X86-O0-NEXT: sbbl $0, %eax
; X86-O0-NEXT: setl %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movl %eax, var_57
; X86-O0-NEXT: movl $0, var_57+4
; X86-O0-NEXT: movl var_5, %eax
; X86-O0-NEXT: subl $-1, %eax
; X86-O0-NEXT: sete %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movl %eax, _ZN8struct_210member_2_0E
; X86-O0-NEXT: movl $0, _ZN8struct_210member_2_0E+4
; X86-O0-NEXT: addl $1, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 4
; X86-O0-NEXT: retl
;
; 686-LABEL: f1:
; 686: # %bb.0: # %entry
; 686-NEXT: pushl %esi
; 686-NEXT: .cfi_def_cfa_offset 8
; 686-NEXT: subl $1, %esp
; 686-NEXT: .cfi_def_cfa_offset 9
; 686-NEXT: .cfi_offset %esi, -8
; 686-NEXT: movl var_5, %edx
; 686-NEXT: movl %edx, %eax
; 686-NEXT: xorl $208307499, %eax # imm = 0xC6A852B
; 686-NEXT: movl %edx, %esi
; 686-NEXT: sarl $31, %esi
; 686-NEXT: movl %esi, %ecx
; 686-NEXT: xorl $-2, %ecx
; 686-NEXT: orl %eax, %ecx
; 686-NEXT: setne (%esp)
; 686-NEXT: movl %edx, %ecx
; 686-NEXT: andl %esi, %ecx
; 686-NEXT: xorl %eax, %eax
; 686-NEXT: cmpl $-1, %ecx
; 686-NEXT: sete %al
; 686-NEXT: xorl %ecx, %ecx
; 686-NEXT: cmpl $-1, %edx
; 686-NEXT: sete %cl
; 686-NEXT: addl $7093, %edx # imm = 0x1BB5
; 686-NEXT: adcl $0, %esi
; 686-NEXT: cmpl %ecx, %edx
; 686-NEXT: sbbl $0, %esi
; 686-NEXT: setl %cl
; 686-NEXT: movzbl %cl, %ecx
; 686-NEXT: movl %ecx, var_57
; 686-NEXT: movl $0, var_57+4
; 686-NEXT: movl %eax, _ZN8struct_210member_2_0E
; 686-NEXT: movl $0, _ZN8struct_210member_2_0E+4
; 686-NEXT: addl $1, %esp
; 686-NEXT: .cfi_def_cfa_offset 8
; 686-NEXT: popl %esi
; 686-NEXT: .cfi_def_cfa_offset 4
; 686-NEXT: retl
; X86-LABEL: f1:
; X86: # %bb.0: # %entry
; X86-NEXT: pushl %esi
; X86-NEXT: .cfi_def_cfa_offset 8
; X86-NEXT: subl $1, %esp
; X86-NEXT: .cfi_def_cfa_offset 9
; X86-NEXT: .cfi_offset %esi, -8
; X86-NEXT: movl var_5, %edx
; X86-NEXT: movl %edx, %eax
; X86-NEXT: xorl $208307499, %eax # imm = 0xC6A852B
; X86-NEXT: movl %edx, %esi
; X86-NEXT: sarl $31, %esi
; X86-NEXT: movl %esi, %ecx
; X86-NEXT: xorl $-2, %ecx
; X86-NEXT: orl %eax, %ecx
; X86-NEXT: setne (%esp)
; X86-NEXT: movl %edx, %ecx
; X86-NEXT: andl %esi, %ecx
; X86-NEXT: xorl %eax, %eax
; X86-NEXT: cmpl $-1, %ecx
; X86-NEXT: sete %al
; X86-NEXT: xorl %ecx, %ecx
; X86-NEXT: cmpl $-1, %edx
; X86-NEXT: sete %cl
; X86-NEXT: addl $7093, %edx # imm = 0x1BB5
; X86-NEXT: adcl $0, %esi
; X86-NEXT: cmpl %ecx, %edx
; X86-NEXT: sbbl $0, %esi
; X86-NEXT: setl %cl
; X86-NEXT: movzbl %cl, %ecx
; X86-NEXT: movl %ecx, var_57
; X86-NEXT: movl $0, var_57+4
; X86-NEXT: movl %eax, _ZN8struct_210member_2_0E
; X86-NEXT: movl $0, _ZN8struct_210member_2_0E+4
; X86-NEXT: addl $1, %esp
; X86-NEXT: .cfi_def_cfa_offset 8
; X86-NEXT: popl %esi
; X86-NEXT: .cfi_def_cfa_offset 4
; X86-NEXT: retl
entry:
%a = alloca i8, align 1
%0 = load i32, i32* @var_5, align 4
@ -283,33 +283,33 @@ entry:
@var_7 = external dso_local global i8, align 1
define void @f2() {
; X86-O0-LABEL: f2:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: movzbl var_7, %eax
; X86-O0-NEXT: cmpb $0, var_7
; X86-O0-NEXT: setne %cl
; X86-O0-NEXT: xorb $-1, %cl
; X86-O0-NEXT: andb $1, %cl
; X86-O0-NEXT: movzbl %cl, %ecx
; X86-O0-NEXT: xorl %ecx, %eax
; X86-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X86-O0-NEXT: movw %ax, -{{[0-9]+}}(%rsp)
; X86-O0-NEXT: movzbl var_7, %eax
; X86-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X86-O0-NEXT: cmpw $0, %ax
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movzbl var_7, %ecx
; X86-O0-NEXT: cmpl %ecx, %eax
; X86-O0-NEXT: sete %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movw %ax, %cx
; X86-O0-NEXT: # implicit-def: $rax
; X86-O0-NEXT: movw %cx, (%rax)
; X86-O0-NEXT: retq
; X64-O0-LABEL: f2:
; X64-O0: # %bb.0: # %entry
; X64-O0-NEXT: movzbl var_7, %eax
; X64-O0-NEXT: cmpb $0, var_7
; X64-O0-NEXT: setne %cl
; X64-O0-NEXT: xorb $-1, %cl
; X64-O0-NEXT: andb $1, %cl
; X64-O0-NEXT: movzbl %cl, %ecx
; X64-O0-NEXT: xorl %ecx, %eax
; X64-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X64-O0-NEXT: movw %ax, -{{[0-9]+}}(%rsp)
; X64-O0-NEXT: movzbl var_7, %eax
; X64-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X64-O0-NEXT: cmpw $0, %ax
; X64-O0-NEXT: setne %al
; X64-O0-NEXT: xorb $-1, %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: movzbl var_7, %ecx
; X64-O0-NEXT: cmpl %ecx, %eax
; X64-O0-NEXT: sete %al
; X64-O0-NEXT: andb $1, %al
; X64-O0-NEXT: movzbl %al, %eax
; X64-O0-NEXT: movw %ax, %cx
; X64-O0-NEXT: # implicit-def: $rax
; X64-O0-NEXT: movw %cx, (%rax)
; X64-O0-NEXT: retq
;
; X64-LABEL: f2:
; X64: # %bb.0: # %entry
@ -328,58 +328,58 @@ define void @f2() {
; X64-NEXT: movw %dx, (%rax)
; X64-NEXT: retq
;
; 686-O0-LABEL: f2:
; 686-O0: # %bb.0: # %entry
; 686-O0-NEXT: subl $2, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 6
; 686-O0-NEXT: movzbl var_7, %eax
; 686-O0-NEXT: cmpb $0, var_7
; 686-O0-NEXT: setne %cl
; 686-O0-NEXT: xorb $-1, %cl
; 686-O0-NEXT: andb $1, %cl
; 686-O0-NEXT: movzbl %cl, %ecx
; 686-O0-NEXT: xorl %ecx, %eax
; 686-O0-NEXT: # kill: def $ax killed $ax killed $eax
; 686-O0-NEXT: movw %ax, (%esp)
; 686-O0-NEXT: movzbl var_7, %eax
; 686-O0-NEXT: # kill: def $ax killed $ax killed $eax
; 686-O0-NEXT: cmpw $0, %ax
; 686-O0-NEXT: setne %al
; 686-O0-NEXT: xorb $-1, %al
; 686-O0-NEXT: andb $1, %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movzbl var_7, %ecx
; 686-O0-NEXT: cmpl %ecx, %eax
; 686-O0-NEXT: sete %al
; 686-O0-NEXT: andb $1, %al
; 686-O0-NEXT: movzbl %al, %eax
; 686-O0-NEXT: movw %ax, %cx
; 686-O0-NEXT: # implicit-def: $eax
; 686-O0-NEXT: movw %cx, (%eax)
; 686-O0-NEXT: addl $2, %esp
; 686-O0-NEXT: .cfi_def_cfa_offset 4
; 686-O0-NEXT: retl
; X86-O0-LABEL: f2:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: subl $2, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 6
; X86-O0-NEXT: movzbl var_7, %eax
; X86-O0-NEXT: cmpb $0, var_7
; X86-O0-NEXT: setne %cl
; X86-O0-NEXT: xorb $-1, %cl
; X86-O0-NEXT: andb $1, %cl
; X86-O0-NEXT: movzbl %cl, %ecx
; X86-O0-NEXT: xorl %ecx, %eax
; X86-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X86-O0-NEXT: movw %ax, (%esp)
; X86-O0-NEXT: movzbl var_7, %eax
; X86-O0-NEXT: # kill: def $ax killed $ax killed $eax
; X86-O0-NEXT: cmpw $0, %ax
; X86-O0-NEXT: setne %al
; X86-O0-NEXT: xorb $-1, %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movzbl var_7, %ecx
; X86-O0-NEXT: cmpl %ecx, %eax
; X86-O0-NEXT: sete %al
; X86-O0-NEXT: andb $1, %al
; X86-O0-NEXT: movzbl %al, %eax
; X86-O0-NEXT: movw %ax, %cx
; X86-O0-NEXT: # implicit-def: $eax
; X86-O0-NEXT: movw %cx, (%eax)
; X86-O0-NEXT: addl $2, %esp
; X86-O0-NEXT: .cfi_def_cfa_offset 4
; X86-O0-NEXT: retl
;
; 686-LABEL: f2:
; 686: # %bb.0: # %entry
; 686-NEXT: subl $2, %esp
; 686-NEXT: .cfi_def_cfa_offset 6
; 686-NEXT: movzbl var_7, %eax
; 686-NEXT: xorl %ecx, %ecx
; 686-NEXT: testl %eax, %eax
; 686-NEXT: sete %cl
; 686-NEXT: xorl %eax, %ecx
; 686-NEXT: movw %cx, (%esp)
; 686-NEXT: xorl %ecx, %ecx
; 686-NEXT: testb %al, %al
; 686-NEXT: sete %cl
; 686-NEXT: xorl %edx, %edx
; 686-NEXT: cmpl %eax, %ecx
; 686-NEXT: sete %dl
; 686-NEXT: movw %dx, (%eax)
; 686-NEXT: addl $2, %esp
; 686-NEXT: .cfi_def_cfa_offset 4
; 686-NEXT: retl
; X86-LABEL: f2:
; X86: # %bb.0: # %entry
; X86-NEXT: subl $2, %esp
; X86-NEXT: .cfi_def_cfa_offset 6
; X86-NEXT: movzbl var_7, %eax
; X86-NEXT: xorl %ecx, %ecx
; X86-NEXT: testl %eax, %eax
; X86-NEXT: sete %cl
; X86-NEXT: xorl %eax, %ecx
; X86-NEXT: movw %cx, (%esp)
; X86-NEXT: xorl %ecx, %ecx
; X86-NEXT: testb %al, %al
; X86-NEXT: sete %cl
; X86-NEXT: xorl %edx, %edx
; X86-NEXT: cmpl %eax, %ecx
; X86-NEXT: sete %dl
; X86-NEXT: movw %dx, (%eax)
; X86-NEXT: addl $2, %esp
; X86-NEXT: .cfi_def_cfa_offset 4
; X86-NEXT: retl
entry:
%a = alloca i16, align 2
%0 = load i8, i8* @var_7, align 1
@ -411,41 +411,41 @@ entry:
@var_46 = external dso_local global i32, align 4
define void @f3() #0 {
; X86-O0-LABEL: f3:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: movl var_13, %eax
; X86-O0-NEXT: xorl $-1, %eax
; X86-O0-NEXT: movl %eax, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: cmpl $0, var_13
; X86-O0-NEXT: setne %cl
; X86-O0-NEXT: xorb $-1, %cl
; X86-O0-NEXT: andb $1, %cl
; X86-O0-NEXT: movzbl %cl, %ecx
; X86-O0-NEXT: # kill: def $rcx killed $ecx
; X86-O0-NEXT: movl var_13, %edx
; X86-O0-NEXT: xorl $-1, %edx
; X86-O0-NEXT: xorl var_16, %edx
; X86-O0-NEXT: movl %edx, %edx
; X86-O0-NEXT: # kill: def $rdx killed $edx
; X86-O0-NEXT: andq %rdx, %rcx
; X86-O0-NEXT: orq %rcx, %rax
; X86-O0-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
; X86-O0-NEXT: movl var_13, %eax
; X86-O0-NEXT: xorl $-1, %eax
; X86-O0-NEXT: movl %eax, %eax
; X86-O0-NEXT: # kill: def $rax killed $eax
; X86-O0-NEXT: cmpl $0, var_13
; X86-O0-NEXT: setne %cl
; X86-O0-NEXT: xorb $-1, %cl
; X86-O0-NEXT: andb $1, %cl
; X86-O0-NEXT: movzbl %cl, %ecx
; X86-O0-NEXT: # kill: def $rcx killed $ecx
; X86-O0-NEXT: andq $0, %rcx
; X86-O0-NEXT: orq %rcx, %rax
; X86-O0-NEXT: # kill: def $eax killed $eax killed $rax
; X86-O0-NEXT: movl %eax, var_46
; X86-O0-NEXT: retq
; X64-O0-LABEL: f3:
; X64-O0: # %bb.0: # %entry
; X64-O0-NEXT: movl var_13, %eax
; X64-O0-NEXT: xorl $-1, %eax
; X64-O0-NEXT: movl %eax, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: cmpl $0, var_13
; X64-O0-NEXT: setne %cl
; X64-O0-NEXT: xorb $-1, %cl
; X64-O0-NEXT: andb $1, %cl
; X64-O0-NEXT: movzbl %cl, %ecx
; X64-O0-NEXT: # kill: def $rcx killed $ecx
; X64-O0-NEXT: movl var_13, %edx
; X64-O0-NEXT: xorl $-1, %edx
; X64-O0-NEXT: xorl var_16, %edx
; X64-O0-NEXT: movl %edx, %edx
; X64-O0-NEXT: # kill: def $rdx killed $edx
; X64-O0-NEXT: andq %rdx, %rcx
; X64-O0-NEXT: orq %rcx, %rax
; X64-O0-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
; X64-O0-NEXT: movl var_13, %eax
; X64-O0-NEXT: xorl $-1, %eax
; X64-O0-NEXT: movl %eax, %eax
; X64-O0-NEXT: # kill: def $rax killed $eax
; X64-O0-NEXT: cmpl $0, var_13
; X64-O0-NEXT: setne %cl
; X64-O0-NEXT: xorb $-1, %cl
; X64-O0-NEXT: andb $1, %cl
; X64-O0-NEXT: movzbl %cl, %ecx
; X64-O0-NEXT: # kill: def $rcx killed $ecx
; X64-O0-NEXT: andq $0, %rcx
; X64-O0-NEXT: orq %rcx, %rax
; X64-O0-NEXT: # kill: def $eax killed $eax killed $rax
; X64-O0-NEXT: movl %eax, var_46
; X64-O0-NEXT: retq
;
; X64-LABEL: f3:
; X64: # %bb.0: # %entry
@ -462,64 +462,64 @@ define void @f3() #0 {
; X64-NEXT: movl %eax, {{.*}}(%rip)
; X64-NEXT: retq
;
; 686-O0-LABEL: f3:
; 686-O0: # %bb.0: # %entry
; 686-O0-NEXT: pushl %ebp
; 686-O0-NEXT: .cfi_def_cfa_offset 8
; 686-O0-NEXT: .cfi_offset %ebp, -8
; 686-O0-NEXT: movl %esp, %ebp
; 686-O0-NEXT: .cfi_def_cfa_register %ebp
; 686-O0-NEXT: pushl %esi
; 686-O0-NEXT: andl $-8, %esp
; 686-O0-NEXT: subl $16, %esp
; 686-O0-NEXT: .cfi_offset %esi, -12
; 686-O0-NEXT: movl var_13, %ecx
; 686-O0-NEXT: movl %ecx, %eax
; 686-O0-NEXT: notl %eax
; 686-O0-NEXT: testl %ecx, %ecx
; 686-O0-NEXT: sete %cl
; 686-O0-NEXT: movzbl %cl, %ecx
; 686-O0-NEXT: movl var_16, %esi
; 686-O0-NEXT: movl %eax, %edx
; 686-O0-NEXT: xorl %esi, %edx
; 686-O0-NEXT: andl %edx, %ecx
; 686-O0-NEXT: orl %ecx, %eax
; 686-O0-NEXT: movl %eax, (%esp)
; 686-O0-NEXT: movl $0, {{[0-9]+}}(%esp)
; 686-O0-NEXT: movl var_13, %eax
; 686-O0-NEXT: notl %eax
; 686-O0-NEXT: movl %eax, var_46
; 686-O0-NEXT: leal -4(%ebp), %esp
; 686-O0-NEXT: popl %esi
; 686-O0-NEXT: popl %ebp
; 686-O0-NEXT: .cfi_def_cfa %esp, 4
; 686-O0-NEXT: retl
; X86-O0-LABEL: f3:
; X86-O0: # %bb.0: # %entry
; X86-O0-NEXT: pushl %ebp
; X86-O0-NEXT: .cfi_def_cfa_offset 8
; X86-O0-NEXT: .cfi_offset %ebp, -8
; X86-O0-NEXT: movl %esp, %ebp
; X86-O0-NEXT: .cfi_def_cfa_register %ebp
; X86-O0-NEXT: pushl %esi
; X86-O0-NEXT: andl $-8, %esp
; X86-O0-NEXT: subl $16, %esp
; X86-O0-NEXT: .cfi_offset %esi, -12
; X86-O0-NEXT: movl var_13, %ecx
; X86-O0-NEXT: movl %ecx, %eax
; X86-O0-NEXT: notl %eax
; X86-O0-NEXT: testl %ecx, %ecx
; X86-O0-NEXT: sete %cl
; X86-O0-NEXT: movzbl %cl, %ecx
; X86-O0-NEXT: movl var_16, %esi
; X86-O0-NEXT: movl %eax, %edx
; X86-O0-NEXT: xorl %esi, %edx
; X86-O0-NEXT: andl %edx, %ecx
; X86-O0-NEXT: orl %ecx, %eax
; X86-O0-NEXT: movl %eax, (%esp)
; X86-O0-NEXT: movl $0, {{[0-9]+}}(%esp)
; X86-O0-NEXT: movl var_13, %eax
; X86-O0-NEXT: notl %eax
; X86-O0-NEXT: movl %eax, var_46
; X86-O0-NEXT: leal -4(%ebp), %esp
; X86-O0-NEXT: popl %esi
; X86-O0-NEXT: popl %ebp
; X86-O0-NEXT: .cfi_def_cfa %esp, 4
; X86-O0-NEXT: retl
;
; 686-LABEL: f3:
; 686: # %bb.0: # %entry
; 686-NEXT: pushl %ebp
; 686-NEXT: .cfi_def_cfa_offset 8
; 686-NEXT: .cfi_offset %ebp, -8
; 686-NEXT: movl %esp, %ebp
; 686-NEXT: .cfi_def_cfa_register %ebp
; 686-NEXT: andl $-8, %esp
; 686-NEXT: subl $8, %esp
; 686-NEXT: movl var_13, %ecx
; 686-NEXT: xorl %eax, %eax
; 686-NEXT: testl %ecx, %ecx
; 686-NEXT: notl %ecx
; 686-NEXT: sete %al
; 686-NEXT: movl var_16, %edx
; 686-NEXT: xorl %ecx, %edx
; 686-NEXT: andl %eax, %edx
; 686-NEXT: orl %ecx, %edx
; 686-NEXT: movl %edx, (%esp)
; 686-NEXT: movl $0, {{[0-9]+}}(%esp)
; 686-NEXT: movl %ecx, var_46
; 686-NEXT: movl %ebp, %esp
; 686-NEXT: popl %ebp
; 686-NEXT: .cfi_def_cfa %esp, 4
; 686-NEXT: retl
; X86-LABEL: f3:
; X86: # %bb.0: # %entry
; X86-NEXT: pushl %ebp
; X86-NEXT: .cfi_def_cfa_offset 8
; X86-NEXT: .cfi_offset %ebp, -8
; X86-NEXT: movl %esp, %ebp
; X86-NEXT: .cfi_def_cfa_register %ebp
; X86-NEXT: andl $-8, %esp
; X86-NEXT: subl $8, %esp
; X86-NEXT: movl var_13, %ecx
; X86-NEXT: xorl %eax, %eax
; X86-NEXT: testl %ecx, %ecx
; X86-NEXT: notl %ecx
; X86-NEXT: sete %al
; X86-NEXT: movl var_16, %edx
; X86-NEXT: xorl %ecx, %edx
; X86-NEXT: andl %eax, %edx
; X86-NEXT: orl %ecx, %edx
; X86-NEXT: movl %edx, (%esp)
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
; X86-NEXT: movl %ecx, var_46
; X86-NEXT: movl %ebp, %esp
; X86-NEXT: popl %ebp
; X86-NEXT: .cfi_def_cfa %esp, 4
; X86-NEXT: retl
entry:
%a = alloca i64, align 8
%0 = load i32, i32* @var_13, align 4