96 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s3 4define i64 @test0x1234567812345678() {5; CHECK-LABEL: test0x1234567812345678:6; CHECK: // %bb.0:7; CHECK-NEXT: mov x0, #22136 // =0x56788; CHECK-NEXT: movk x0, #4660, lsl #169; CHECK-NEXT: orr x0, x0, x0, lsl #3210; CHECK-NEXT: ret11 ret i64 u0x123456781234567812}13 14define i64 @test0xff3456ffff3456ff() {15; CHECK-LABEL: test0xff3456ffff3456ff:16; CHECK: // %bb.0:17; CHECK-NEXT: mov x0, #22271 // =0x56ff18; CHECK-NEXT: movk x0, #65332, lsl #1619; CHECK-NEXT: orr x0, x0, x0, lsl #3220; CHECK-NEXT: ret21 ret i64 u0xff3456ffff3456ff22}23 24define i64 @test0x00345600345600() {25; CHECK-LABEL: test0x00345600345600:26; CHECK: // %bb.0:27; CHECK-NEXT: mov x0, #22016 // =0x560028; CHECK-NEXT: movk x0, #52, lsl #1629; CHECK-NEXT: movk x0, #13398, lsl #3230; CHECK-NEXT: ret31 ret i64 u0x0034560034560032}33 34define i64 @test0x5555555555555555() {35; CHECK-LABEL: test0x5555555555555555:36; CHECK: // %bb.0:37; CHECK-NEXT: mov x0, #6148914691236517205 // =0x555555555555555538; CHECK-NEXT: ret39 ret i64 u0x555555555555555540}41 42define i64 @test0x5055555550555555() {43; CHECK-LABEL: test0x5055555550555555:44; CHECK: // %bb.0:45; CHECK-NEXT: mov x0, #6148914691236517205 // =0x555555555555555546; CHECK-NEXT: and x0, x0, #0xf0fffffff0ffffff47; CHECK-NEXT: ret48 ret i64 u0x505555555055555549}50 51define i64 @test0x0000555555555555() {52; CHECK-LABEL: test0x0000555555555555:53; CHECK: // %bb.0:54; CHECK-NEXT: mov x0, #6148914691236517205 // =0x555555555555555555; CHECK-NEXT: movk x0, #0, lsl #4856; CHECK-NEXT: ret57 ret i64 u0x000055555555555558}59 60define i64 @test0x0000555500005555() {61; CHECK-LABEL: test0x0000555500005555:62; CHECK: // %bb.0:63; CHECK-NEXT: mov x0, #21845 // =0x555564; CHECK-NEXT: movk x0, #21845, lsl #3265; CHECK-NEXT: ret66 ret i64 u0x000055550000555567}68 69define i64 @testu0xffff5555ffff5555() {70; CHECK-LABEL: testu0xffff5555ffff5555:71; CHECK: // %bb.0:72; CHECK-NEXT: mov x0, #-43691 // =0xffffffffffff555573; CHECK-NEXT: movk x0, #21845, lsl #3274; CHECK-NEXT: ret75 ret i64 u0xffff5555ffff555576}77 78define i64 @testuu0xfffff555f555f555() {79; CHECK-LABEL: testuu0xfffff555f555f555:80; CHECK: // %bb.0:81; CHECK-NEXT: mov x0, #-2731 // =0xfffffffffffff55582; CHECK-NEXT: movk x0, #62805, lsl #1683; CHECK-NEXT: movk x0, #62805, lsl #3284; CHECK-NEXT: ret85 ret i64 u0xfffff555f555f55586}87 88define i64 @testuu0xf555f555f555f555() {89; CHECK-LABEL: testuu0xf555f555f555f555:90; CHECK: // %bb.0:91; CHECK-NEXT: mov x0, #6148914691236517205 // =0x555555555555555592; CHECK-NEXT: orr x0, x0, #0xe001e001e001e00193; CHECK-NEXT: ret94 ret i64 u0xf555f555f555f55595}96