From 62af2af85daf79471c15a23f1b4f81a83a8bdd19 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 13 Apr 2021 18:54:00 +0100 Subject: [PATCH] [X86] Regenerate PR32284.ll test case prefixes. NFC. Use X64 for 64-bit targets and X86 for 32-bit targets --- llvm/test/CodeGen/X86/pr32284.ll | 698 +++++++++++++++---------------- 1 file changed, 349 insertions(+), 349 deletions(-) diff --git a/llvm/test/CodeGen/X86/pr32284.ll b/llvm/test/CodeGen/X86/pr32284.ll index a4417a517421..8907e8ddce06 100644 --- a/llvm/test/CodeGen/X86/pr32284.ll +++ b/llvm/test/CodeGen/X86/pr32284.ll @@ -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