mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-01 21:04:04 -04:00
[TargetLowering][DAGCombine][MSP430] add/use hook for Shift Amount Threshold (1/2)
Provides a TLI hook to allow targets to relax the emission of shifts, thus enabling codegen improvements on targets with no multiple shift instructions and cheap selects or branches. Contributes to a Fix for PR43559: https://bugs.llvm.org/show_bug.cgi?id=43559 Patch by: @joanlluch (Joan LLuch) Differential Revision: https://reviews.llvm.org/D69116 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375347 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -4,13 +4,9 @@
|
||||
define i16 @testSimplifySetCC_0(i16 %a) {
|
||||
; CHECK-LABEL: testSimplifySetCC_0:
|
||||
; CHECK: ; %bb.0: ; %entry
|
||||
; CHECK-NEXT: and #32, r12
|
||||
; CHECK-NEXT: clrc
|
||||
; CHECK-NEXT: rrc r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: bit #32, r12
|
||||
; CHECK-NEXT: mov r2, r12
|
||||
; CHECK-NEXT: and #1, r12
|
||||
; CHECK-NEXT: ret
|
||||
entry:
|
||||
%and = and i16 %a, 32
|
||||
@@ -22,13 +18,9 @@ entry:
|
||||
define i16 @testSimplifySetCC_1(i16 %a) {
|
||||
; CHECK-LABEL: testSimplifySetCC_1:
|
||||
; CHECK: ; %bb.0: ; %entry
|
||||
; CHECK-NEXT: and #32, r12
|
||||
; CHECK-NEXT: clrc
|
||||
; CHECK-NEXT: rrc r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: rra r12
|
||||
; CHECK-NEXT: bit #32, r12
|
||||
; CHECK-NEXT: mov r2, r12
|
||||
; CHECK-NEXT: and #1, r12
|
||||
; CHECK-NEXT: ret
|
||||
entry:
|
||||
%and = and i16 %a, 32
|
||||
|
||||
Reference in New Issue
Block a user