mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 22:23:10 +00:00
ComputeKnownBits: be a bit smarter about ADDs
If our two inputs have known top-zero bit counts M and N, we trivially know that the output cannot have any bits set in the top (min(M, N)-1) bits, since nothing could carry past that point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241927 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -255,7 +255,7 @@ entry:
|
||||
; CHECK: ubfx x9, x0, #0, #32
|
||||
; CHECK: lsl x9, x9, #2
|
||||
; CHECK: add x9, x9, #15
|
||||
; CHECK: and x9, x9, #0xfffffffffffffff0
|
||||
; CHECK: and x9, x9, #0x7fffffff0
|
||||
; CHECK: mov x10, sp
|
||||
; CHECK: sub x[[VLASPTMP:[0-9]+]], x10, x9
|
||||
; CHECK: mov sp, x[[VLASPTMP]]
|
||||
@@ -302,7 +302,7 @@ entry:
|
||||
; CHECK: ubfx x9, x0, #0, #32
|
||||
; CHECK: lsl x9, x9, #2
|
||||
; CHECK: add x9, x9, #15
|
||||
; CHECK: and x9, x9, #0xfffffffffffffff0
|
||||
; CHECK: and x9, x9, #0x7fffffff0
|
||||
; CHECK: mov x10, sp
|
||||
; CHECK: sub x[[VLASPTMP:[0-9]+]], x10, x9
|
||||
; CHECK: mov sp, x[[VLASPTMP]]
|
||||
@@ -364,7 +364,7 @@ entry:
|
||||
; CHECK: ubfx x9, x0, #0, #32
|
||||
; CHECK: lsl x9, x9, #2
|
||||
; CHECK: add x9, x9, #15
|
||||
; CHECK: and x9, x9, #0xfffffffffffffff0
|
||||
; CHECK: and x9, x9, #0x7fffffff0
|
||||
; CHECK: mov x10, sp
|
||||
; CHECK: sub x[[VLASPTMP:[0-9]+]], x10, x9
|
||||
; CHECK: mov sp, x[[VLASPTMP]]
|
||||
@@ -417,7 +417,7 @@ entry:
|
||||
; CHECK: ubfx x9, x0, #0, #32
|
||||
; CHECK: lsl x9, x9, #2
|
||||
; CHECK: add x9, x9, #15
|
||||
; CHECK: and x9, x9, #0xfffffffffffffff0
|
||||
; CHECK: and x9, x9, #0x7fffffff0
|
||||
; CHECK: mov x10, sp
|
||||
; CHECK: sub x[[VLASPTMP:[0-9]+]], x10, x9
|
||||
; CHECK: mov sp, x[[VLASPTMP]]
|
||||
@@ -468,7 +468,7 @@ entry:
|
||||
; CHECK: ubfx x9, x0, #0, #32
|
||||
; CHECK: lsl x9, x9, #2
|
||||
; CHECK: add x9, x9, #15
|
||||
; CHECK: and x9, x9, #0xfffffffffffffff0
|
||||
; CHECK: and x9, x9, #0x7fffffff0
|
||||
; CHECK: mov x10, sp
|
||||
; CHECK: sub x[[VLASPTMP:[0-9]+]], x10, x9
|
||||
; CHECK: mov sp, x[[VLASPTMP]]
|
||||
|
||||
Reference in New Issue
Block a user