Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/X86/pr40631_deadstore_elision.ll
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ||||
; RUN: llc -o - %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s | ; RUN: llc -o - %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s | ||||
%struct.sk_buff = type { i8* } | %struct.sk_buff = type { i8* } | ||||
%struct.xt_action_param = type { i8*, i8*, i8*, i32, i32, i8 } | %struct.xt_action_param = type { i8*, i8*, i8*, i32, i32, i8 } | ||||
define i32 @ipt_do_table(%struct.sk_buff* noalias nocapture readonly) { | define i32 @ipt_do_table(%struct.sk_buff* noalias nocapture readonly) { | ||||
; CHECK-LABEL: ipt_do_table: | ; CHECK-LABEL: ipt_do_table: | ||||
; CHECK: # %bb.0: | ; CHECK: # %bb.0: | ||||
; CHECK-NEXT: subq $40, %rsp | ; CHECK-NEXT: subq $40, %rsp | ||||
; CHECK-NEXT: .cfi_def_cfa_offset 48 | ; CHECK-NEXT: .cfi_def_cfa_offset 48 | ||||
; CHECK-NEXT: movq (%rdi), %rax | ; CHECK-NEXT: movq (%rdi), %rax | ||||
; CHECK-NEXT: xorps %xmm0, %xmm0 | ; CHECK-NEXT: xorps %xmm0, %xmm0 | ||||
; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movq $0, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movq $170, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movaps {{.*#+}} xmm0 = [12297829382473034410,12297829382473034410] | ; CHECK-NEXT: movaps {{.*#+}} xmm0 = [12297829382473034410,12297829382473034410] | ||||
; CHECK-NEXT: movaps %xmm0, (%rsp) | ; CHECK-NEXT: movaps %xmm0, (%rsp) | ||||
; CHECK-NEXT: movabsq $-6148914691236517206, %rcx # imm = 0xAAAAAAAAAAAAAAAA | ; CHECK-NEXT: movabsq $-6148914691236517206, %rcx # imm = 0xAAAAAAAAAAAAAAAA | ||||
; CHECK-NEXT: movq %rcx, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movq %rcx, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movq %rcx, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movq %rcx, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movb $-86, {{[0-9]+}}(%rsp) | |||||
; CHECK-NEXT: movzwl 2(%rax), %ecx | ; CHECK-NEXT: movzwl 2(%rax), %ecx | ||||
; CHECK-NEXT: andl $8191, %ecx # imm = 0x1FFF | ; CHECK-NEXT: andl $8191, %ecx # imm = 0x1FFF | ||||
; CHECK-NEXT: movl %ecx, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movl %ecx, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movzbl (%rax), %eax | ; CHECK-NEXT: movzbl (%rax), %eax | ||||
; CHECK-NEXT: andl $15, %eax | ; CHECK-NEXT: andl $15, %eax | ||||
; CHECK-NEXT: movl %eax, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movl %eax, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movb $0, {{[0-9]+}}(%rsp) | ; CHECK-NEXT: movb $0, {{[0-9]+}}(%rsp) | ||||
; CHECK-NEXT: movq %rsp, %rdi | ; CHECK-NEXT: movq %rsp, %rdi | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |