1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/X86/pr47024.ll
Craig Topper c01ba6831e Recommit "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places"
I messed up the bug numbers in the commit message before

Previously this function searched 4 instructions forwards or
backwards to determine if it was ok to clobber eflags.

This is called in 3 places: rematerialization, turning 2 operand
leas into adds or splitting 3 ops leas into an lea and add on some
CPU targets.

This patch increases the search limit to 10 instructions for
rematerialization and 2 operand lea to add. I've left the old
treshold for 3 ops lea spliting as that increases code size.

Fixes PR47024 and PR46315.
2020-08-08 11:53:14 -07:00

19 lines
922 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
define void @_Z4testv() {
; CHECK-LABEL: _Z4testv:
; CHECK: # %bb.0:
; CHECK-NEXT: movabsq $21542142465, %rdi # imm = 0x504030201
; CHECK-NEXT: movabsq $723401749922909195, %rdx # imm = 0xA0A0A0F0E0D0C0B
; CHECK-NEXT: movabsq $723401728380766730, %rcx # imm = 0xA0A0A0A0A0A0A0A
; CHECK-NEXT: movabsq $1446803478303675925, %r8 # imm = 0x1414141918171615
; CHECK-NEXT: movabsq $798285110420182026, %r9 # imm = 0xB1414141414140A
; CHECK-NEXT: xorl %esi, %esi
; CHECK-NEXT: jmp _Z8process36data_tS_S_ # TAILCALL
tail call void @_Z8process36data_tS_S_(i64 21542142465, i64 0, i64 723401749922909195, i64 723401728380766730, i64 1446803478303675925, i64 798285110420182026)
ret void
}
declare void @_Z8process36data_tS_S_(i64, i64, i64, i64, i64, i64)