Last active
December 1, 2021 17:01
-
-
Save tgymnich/84f1cfed5038dff435c9cdb28ceb8f10 to your computer and use it in GitHub Desktop.
BitwiseRotate on M1 Max (Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6))
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_main: | |
mov w0, #0 | |
ret | |
(extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A: | |
adrp x3, _$ss17FixedWidthIntegerP3alloiyxx_xtFZTj@GOTPAGE | |
ldr x3, [x3, _$ss17FixedWidthIntegerP3alloiyxx_xtFZTj@GOTPAGEOFF] | |
adrp x4, _$ss17FixedWidthIntegerP3aggoiyxx_xtFZTj@GOTPAGE | |
ldr x4, [x4, _$ss17FixedWidthIntegerP3aggoiyxx_xtFZTj@GOTPAGEOFF] | |
b merged (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A | |
lazy protocol witness table accessor for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift: | |
stp x29, x30, [sp, #-16]! | |
adrp x8, lazy protocol witness table cache variable for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift@PAGE | |
ldr x0, [x8, lazy protocol witness table cache variable for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift@PAGEOFF] | |
cbz x0, LBB2_2 | |
ldp x29, x30, [sp], #16 | |
ret | |
LBB2_2: | |
adrp x0, _$sSiSzsMc@GOTPAGE | |
ldr x0, [x0, _$sSiSzsMc@GOTPAGEOFF] | |
adrp x1, _$sSiN@GOTPAGE | |
ldr x1, [x1, _$sSiN@GOTPAGEOFF] | |
bl _swift_getWitnessTable | |
adrp x8, lazy protocol witness table cache variable for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift@PAGE | |
add x8, x8, lazy protocol witness table cache variable for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift@PAGEOFF | |
stlr x0, [x8] | |
ldp x29, x30, [sp], #16 | |
ret | |
(extension in output):Swift.FixedWidthInteger.rotateRight(Swift.Int) -> A: | |
adrp x3, _$ss17FixedWidthIntegerP3aggoiyxx_xtFZTj@GOTPAGE | |
ldr x3, [x3, _$ss17FixedWidthIntegerP3aggoiyxx_xtFZTj@GOTPAGEOFF] | |
adrp x4, _$ss17FixedWidthIntegerP3alloiyxx_xtFZTj@GOTPAGE | |
ldr x4, [x4, _$ss17FixedWidthIntegerP3alloiyxx_xtFZTj@GOTPAGEOFF] | |
b merged (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A | |
merged (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A: | |
stp x28, x27, [sp, #-96]! | |
stp x26, x25, [sp, #16] | |
stp x24, x23, [sp, #32] | |
stp x22, x21, [sp, #48] | |
stp x20, x19, [sp, #64] | |
stp x29, x30, [sp, #80] | |
add x29, sp, #80 | |
sub sp, sp, #80 | |
mov x19, x1 | |
ldur x21, [x1, #-8] | |
ldr x13, [x21, #64] | |
mov x9, x13 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
add x10, x13, #15 | |
and x12, x10, #0xfffffffffffffff0 | |
sub x14, x9, x12 | |
mov sp, x14 | |
mov x9, x13 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
sub x28, x9, x12 | |
mov sp, x28 | |
mov x9, x13 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
sub x15, x9, x12 | |
mov sp, x15 | |
mov x9, x13 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
sub x25, x9, x12 | |
mov sp, x25 | |
mov x9, x13 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
sub x22, x9, x12 | |
mov sp, x22 | |
cbz x0, LBB4_2 | |
stp x8, x0, [x29, #-96] | |
ldr x23, [x2, #8] | |
stp x22, x4, [x29, #-112] | |
mov x27, x2 | |
stp x3, x0, [x29, #-152] | |
stp x14, x15, [x29, #-128] | |
bl lazy protocol witness table accessor for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift | |
mov x24, x0 | |
adrp x1, _$sSiN@GOTPAGE | |
ldr x1, [x1, _$sSiN@GOTPAGEOFF] | |
sub x0, x29, #88 | |
mov x8, x25 | |
mov x2, x24 | |
mov x26, x20 | |
mov x20, x19 | |
mov x3, x19 | |
mov x4, x23 | |
bl dispatch thunk of Swift.BinaryInteger.init<A where A1: Swift.BinaryInteger>(truncatingIfNeeded: A1) -> A | |
mov x8, x22 | |
mov x0, x26 | |
stur x26, [x29, #-136] | |
mov x1, x25 | |
mov x2, x19 | |
mov x3, x27 | |
ldur x9, [x29, #-152] | |
blr x9 | |
ldr x21, [x21, #8] | |
mov x0, x25 | |
mov x1, x19 | |
blr x21 | |
mov x20, x26 | |
mov x0, x19 | |
mov x1, x23 | |
bl dispatch thunk of Swift.BinaryInteger.bitWidth.getter : Swift.Int | |
stur x0, [x29, #-88] | |
sub x0, x29, #88 | |
mov x8, x28 | |
adrp x22, _$sSiN@GOTPAGE | |
ldr x22, [x22, _$sSiN@GOTPAGEOFF] | |
mov x1, x22 | |
mov x2, x24 | |
mov x20, x19 | |
mov x3, x19 | |
mov x4, x23 | |
bl dispatch thunk of Swift.BinaryInteger.init<A where A1: Swift.BinaryInteger>(truncatingIfNeeded: A1) -> A | |
ldur x8, [x29, #-144] | |
stur x8, [x29, #-88] | |
sub x0, x29, #88 | |
ldur x26, [x29, #-128] | |
mov x8, x26 | |
mov x1, x22 | |
mov x2, x24 | |
mov x20, x19 | |
mov x3, x19 | |
mov x4, x23 | |
bl dispatch thunk of Swift.BinaryInteger.init<A where A1: Swift.BinaryInteger>(truncatingIfNeeded: A1) -> A | |
ldur x22, [x29, #-120] | |
mov x0, x22 | |
mov x1, x26 | |
mov x20, x28 | |
mov x2, x19 | |
mov x3, x27 | |
bl dispatch thunk of Swift.FixedWidthInteger.subtractingReportingOverflow(A) -> (partialValue: A, overflow: Swift.Bool) | |
mov x0, x28 | |
mov x1, x19 | |
blr x21 | |
mov x0, x26 | |
mov x1, x19 | |
blr x21 | |
mov x8, x25 | |
ldur x0, [x29, #-136] | |
mov x1, x22 | |
mov x20, x19 | |
mov x2, x19 | |
mov x3, x27 | |
ldur x9, [x29, #-104] | |
blr x9 | |
mov x0, x22 | |
mov x1, x19 | |
blr x21 | |
ldur x8, [x29, #-96] | |
ldur x22, [x29, #-112] | |
mov x0, x22 | |
mov x1, x25 | |
mov x2, x19 | |
mov x3, x23 | |
bl dispatch thunk of static Swift.BinaryInteger.| infix(A, A) -> A | |
mov x0, x22 | |
mov x1, x19 | |
blr x21 | |
mov x0, x25 | |
mov x1, x19 | |
blr x21 | |
b LBB4_3 | |
LBB4_2: | |
ldr x9, [x21, #16] | |
mov x0, x8 | |
mov x1, x20 | |
mov x2, x19 | |
blr x9 | |
LBB4_3: | |
sub sp, x29, #80 | |
ldp x29, x30, [sp, #80] | |
ldp x20, x19, [sp, #64] | |
ldp x22, x21, [sp, #48] | |
ldp x24, x23, [sp, #32] | |
ldp x26, x25, [sp, #16] | |
ldp x28, x27, [sp], #96 | |
ret | |
(extension in output):Swift.FixedWidthInteger.rotatedLeft(Swift.Int) -> (): | |
adrp x3, (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A@PAGE | |
add x3, x3, (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A@PAGEOFF | |
b merged (extension in output):Swift.FixedWidthInteger.rotatedLeft(Swift.Int) -> () | |
(extension in output):Swift.FixedWidthInteger.rotatedRight(Swift.Int) -> (): | |
adrp x3, (extension in output):Swift.FixedWidthInteger.rotateRight(Swift.Int) -> A@PAGE | |
add x3, x3, (extension in output):Swift.FixedWidthInteger.rotateRight(Swift.Int) -> A@PAGEOFF | |
b merged (extension in output):Swift.FixedWidthInteger.rotatedLeft(Swift.Int) -> () | |
merged (extension in output):Swift.FixedWidthInteger.rotatedLeft(Swift.Int) -> (): | |
stp x22, x21, [sp, #-48]! | |
stp x20, x19, [sp, #16] | |
stp x29, x30, [sp, #32] | |
add x29, sp, #32 | |
mov x19, x1 | |
ldur x22, [x1, #-8] | |
ldr x8, [x22, #64] | |
mov x9, x8 | |
adrp x16, ___chkstk_darwin@GOTPAGE | |
ldr x16, [x16, ___chkstk_darwin@GOTPAGEOFF] | |
blr x16 | |
mov x9, sp | |
add x8, x8, #15 | |
and x8, x8, #0xfffffffffffffff0 | |
sub x21, x9, x8 | |
mov sp, x21 | |
mov x8, x21 | |
blr x3 | |
ldr x8, [x22, #40] | |
mov x0, x20 | |
mov x1, x21 | |
mov x2, x19 | |
blr x8 | |
sub sp, x29, #32 | |
ldp x29, x30, [sp, #32] | |
ldp x20, x19, [sp, #16] | |
ldp x22, x21, [sp], #48 | |
ret | |
static (extension in output):Swift.FixedWidthInteger.<<< infix(A, Swift.Int) -> A: | |
stp x20, x19, [sp, #-32]! | |
stp x29, x30, [sp, #16] | |
add x29, sp, #16 | |
mov x20, x0 | |
mov x0, x1 | |
mov x1, x2 | |
mov x2, x3 | |
bl (extension in output):Swift.FixedWidthInteger.rotateLeft(Swift.Int) -> A | |
ldp x29, x30, [sp, #16] | |
ldp x20, x19, [sp], #32 | |
ret | |
static (extension in output):Swift.FixedWidthInteger.>>> infix(A, Swift.Int) -> A: | |
stp x20, x19, [sp, #-32]! | |
stp x29, x30, [sp, #16] | |
add x29, sp, #16 | |
mov x20, x0 | |
mov x0, x1 | |
mov x1, x2 | |
mov x2, x3 | |
bl (extension in output):Swift.FixedWidthInteger.rotateRight(Swift.Int) -> A | |
ldp x29, x30, [sp, #16] | |
ldp x20, x19, [sp], #32 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.rotateLeft(Swift.Int) -> Swift.UInt: | |
neg w8, w0 | |
ror x0, x1, x8 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.rotateRight(Swift.Int) -> Swift.UInt: | |
ror x0, x1, x0 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.rotatedLeft(Swift.Int) -> (): | |
ldr x8, [x20] | |
neg w9, w0 | |
ror x8, x8, x9 | |
str x8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.rotatedRight(Swift.Int) -> (): | |
ldr x8, [x20] | |
ror x8, x8, x0 | |
str x8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.<<< infix(Swift.UInt, Swift.Int) -> Swift.UInt: | |
neg w8, w1 | |
ror x0, x0, x8 | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt>.>>> infix(Swift.UInt, Swift.Int) -> Swift.UInt: | |
ror x0, x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.rotateLeft(Swift.Int) -> Swift.UInt32: | |
cbz x0, LBB16_2 | |
neg w8, w0 | |
ror w0, w1, w8 | |
ret | |
LBB16_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.rotateRight(Swift.Int) -> Swift.UInt32: | |
cbz x0, LBB17_2 | |
ror w0, w1, w0 | |
ret | |
LBB17_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.rotatedLeft(Swift.Int) -> (): | |
ldr w8, [x20] | |
neg w9, w0 | |
ror w9, w8, w9 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
str w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.rotatedRight(Swift.Int) -> (): | |
ldr w8, [x20] | |
ror w9, w8, w0 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
str w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.<<< infix(Swift.UInt32, Swift.Int) -> Swift.UInt32: | |
cbz x1, LBB20_2 | |
neg w8, w1 | |
ror w0, w0, w8 | |
LBB20_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt32>.>>> infix(Swift.UInt32, Swift.Int) -> Swift.UInt32: | |
cbz x1, LBB21_2 | |
ror w0, w0, w1 | |
LBB21_2: | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.rotateLeft(Swift.Int) -> Swift.UInt16: | |
cbz x0, LBB22_2 | |
and w8, w0, #0xf | |
lsl w8, w1, w8 | |
neg w9, w0 | |
and w9, w9, #0xf | |
and w10, w1, #0xffff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
ret | |
LBB22_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.rotateRight(Swift.Int) -> Swift.UInt16: | |
cbz x0, LBB23_2 | |
and w8, w1, #0xffff | |
and w9, w0, #0xf | |
lsr w8, w8, w9 | |
neg w9, w0 | |
and w9, w9, #0xf | |
lsl w9, w1, w9 | |
orr w0, w8, w9 | |
ret | |
LBB23_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.rotatedLeft(Swift.Int) -> (): | |
ldrh w8, [x20] | |
and w9, w0, #0xf | |
lsl w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0xf | |
lsr w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strh w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.rotatedRight(Swift.Int) -> (): | |
ldrh w8, [x20] | |
and w9, w0, #0xf | |
lsr w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0xf | |
lsl w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strh w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.<<< infix(Swift.UInt16, Swift.Int) -> Swift.UInt16: | |
cbz x1, LBB26_2 | |
and w8, w1, #0xf | |
lsl w8, w0, w8 | |
neg w9, w1 | |
and w9, w9, #0xf | |
and w10, w0, #0xffff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
LBB26_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt16>.>>> infix(Swift.UInt16, Swift.Int) -> Swift.UInt16: | |
cbz x1, LBB27_2 | |
and w8, w0, #0xffff | |
and w9, w1, #0xf | |
lsr w8, w8, w9 | |
neg w9, w1 | |
and w9, w9, #0xf | |
lsl w9, w0, w9 | |
orr w0, w8, w9 | |
LBB27_2: | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.rotateLeft(Swift.Int) -> Swift.UInt8: | |
cbz x0, LBB28_2 | |
and w8, w0, #0x7 | |
lsl w8, w1, w8 | |
neg w9, w0 | |
and w9, w9, #0x7 | |
and w10, w1, #0xff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
ret | |
LBB28_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.rotateRight(Swift.Int) -> Swift.UInt8: | |
cbz x0, LBB29_2 | |
and w8, w1, #0xff | |
and w9, w0, #0x7 | |
lsr w8, w8, w9 | |
neg w9, w0 | |
and w9, w9, #0x7 | |
lsl w9, w1, w9 | |
orr w0, w8, w9 | |
ret | |
LBB29_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.rotatedLeft(Swift.Int) -> (): | |
ldrb w8, [x20] | |
and w9, w0, #0x7 | |
lsl w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0x7 | |
lsr w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strb w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.rotatedRight(Swift.Int) -> (): | |
ldrb w8, [x20] | |
and w9, w0, #0x7 | |
lsr w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0x7 | |
lsl w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strb w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.<<< infix(Swift.UInt8, Swift.Int) -> Swift.UInt8: | |
cbz x1, LBB32_2 | |
and w8, w1, #0x7 | |
lsl w8, w0, w8 | |
neg w9, w1 | |
and w9, w9, #0x7 | |
and w10, w0, #0xff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
LBB32_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.UInt8>.>>> infix(Swift.UInt8, Swift.Int) -> Swift.UInt8: | |
cbz x1, LBB33_2 | |
and w8, w0, #0xff | |
and w9, w1, #0x7 | |
lsr w8, w8, w9 | |
neg w9, w1 | |
and w9, w9, #0x7 | |
lsl w9, w0, w9 | |
orr w0, w8, w9 | |
LBB33_2: | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.rotateLeft(Swift.Int) -> Swift.Int: | |
neg w8, w0 | |
ror x0, x1, x8 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.rotateRight(Swift.Int) -> Swift.Int: | |
ror x0, x1, x0 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.rotatedLeft(Swift.Int) -> (): | |
ldr x8, [x20] | |
neg w9, w0 | |
ror x8, x8, x9 | |
str x8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.rotatedRight(Swift.Int) -> (): | |
ldr x8, [x20] | |
ror x8, x8, x0 | |
str x8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.<<< infix(Swift.Int, Swift.Int) -> Swift.Int: | |
neg w8, w1 | |
ror x0, x0, x8 | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int>.>>> infix(Swift.Int, Swift.Int) -> Swift.Int: | |
ror x0, x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.rotateLeft(Swift.Int) -> Swift.Int32: | |
cbz x0, LBB40_2 | |
neg w8, w0 | |
ror w0, w1, w8 | |
ret | |
LBB40_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.rotateRight(Swift.Int) -> Swift.Int32: | |
cbz x0, LBB41_2 | |
ror w0, w1, w0 | |
ret | |
LBB41_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.rotatedLeft(Swift.Int) -> (): | |
ldr w8, [x20] | |
neg w9, w0 | |
ror w9, w8, w9 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
str w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.rotatedRight(Swift.Int) -> (): | |
ldr w8, [x20] | |
ror w9, w8, w0 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
str w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.<<< infix(Swift.Int32, Swift.Int) -> Swift.Int32: | |
cbz x1, LBB44_2 | |
neg w8, w1 | |
ror w0, w0, w8 | |
LBB44_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int32>.>>> infix(Swift.Int32, Swift.Int) -> Swift.Int32: | |
cbz x1, LBB45_2 | |
ror w0, w0, w1 | |
LBB45_2: | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.rotateLeft(Swift.Int) -> Swift.Int16: | |
cbz x0, LBB46_2 | |
and w8, w0, #0xf | |
lsl w8, w1, w8 | |
neg w9, w0 | |
and w9, w9, #0xf | |
and w10, w1, #0xffff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
ret | |
LBB46_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.rotateRight(Swift.Int) -> Swift.Int16: | |
cbz x0, LBB47_2 | |
and w8, w1, #0xffff | |
and w9, w0, #0xf | |
lsr w8, w8, w9 | |
neg w9, w0 | |
and w9, w9, #0xf | |
lsl w9, w1, w9 | |
orr w0, w8, w9 | |
ret | |
LBB47_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.rotatedLeft(Swift.Int) -> (): | |
ldrh w8, [x20] | |
and w9, w0, #0xf | |
lsl w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0xf | |
lsr w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strh w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.rotatedRight(Swift.Int) -> (): | |
ldrh w8, [x20] | |
and w9, w0, #0xf | |
lsr w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0xf | |
lsl w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strh w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.<<< infix(Swift.Int16, Swift.Int) -> Swift.Int16: | |
cbz x1, LBB50_2 | |
and w8, w1, #0xf | |
lsl w8, w0, w8 | |
neg w9, w1 | |
and w9, w9, #0xf | |
and w10, w0, #0xffff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
LBB50_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int16>.>>> infix(Swift.Int16, Swift.Int) -> Swift.Int16: | |
cbz x1, LBB51_2 | |
and w8, w0, #0xffff | |
and w9, w1, #0xf | |
lsr w8, w8, w9 | |
neg w9, w1 | |
and w9, w9, #0xf | |
lsl w9, w0, w9 | |
orr w0, w8, w9 | |
LBB51_2: | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.rotateLeft(Swift.Int) -> Swift.Int8: | |
cbz x0, LBB52_2 | |
and w8, w0, #0x7 | |
lsl w8, w1, w8 | |
neg w9, w0 | |
and w9, w9, #0x7 | |
and w10, w1, #0xff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
ret | |
LBB52_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.rotateRight(Swift.Int) -> Swift.Int8: | |
cbz x0, LBB53_2 | |
and w8, w1, #0xff | |
and w9, w0, #0x7 | |
lsr w8, w8, w9 | |
neg w9, w0 | |
and w9, w9, #0x7 | |
lsl w9, w1, w9 | |
orr w0, w8, w9 | |
ret | |
LBB53_2: | |
mov x0, x1 | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.rotatedLeft(Swift.Int) -> (): | |
ldrb w8, [x20] | |
and w9, w0, #0x7 | |
lsl w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0x7 | |
lsr w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strb w8, [x20] | |
ret | |
(extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.rotatedRight(Swift.Int) -> (): | |
ldrb w8, [x20] | |
and w9, w0, #0x7 | |
lsr w9, w8, w9 | |
neg w10, w0 | |
and w10, w10, #0x7 | |
lsl w10, w8, w10 | |
orr w9, w9, w10 | |
cmp x0, #0 | |
csel w8, w8, w9, eq | |
strb w8, [x20] | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.<<< infix(Swift.Int8, Swift.Int) -> Swift.Int8: | |
cbz x1, LBB56_2 | |
and w8, w1, #0x7 | |
lsl w8, w0, w8 | |
neg w9, w1 | |
and w9, w9, #0x7 | |
and w10, w0, #0xff | |
lsr w9, w10, w9 | |
orr w0, w8, w9 | |
LBB56_2: | |
ret | |
static (extension in output):Swift.FixedWidthInteger< where A == Swift.Int8>.>>> infix(Swift.Int8, Swift.Int) -> Swift.Int8: | |
cbz x1, LBB57_2 | |
and w8, w0, #0xff | |
and w9, w1, #0x7 | |
lsr w8, w8, w9 | |
neg w9, w1 | |
and w9, w9, #0x7 | |
lsl w9, w0, w9 | |
orr w0, w8, w9 | |
LBB57_2: | |
ret | |
lazy protocol witness table cache variable for type Swift.Int and conformance Swift.Int : Swift.BinaryInteger in Swift: | |
.quad 0 | |
___swift_reflection_version: | |
.short 3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment