Skip to content

Commit 3056f39

Browse files
committed
Add tests.
1 parent b178821 commit 3056f39

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

llvm/test/CodeGen/AArch64/arm64-movi.ll

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,3 +549,58 @@ define i64 @orr_32_eor_64() nounwind {
549549
; CHECK-NEXT: ret
550550
ret i64 18446604367017541391
551551
}
552+
553+
;==--------------------------------------------------------------------------==
554+
; Tests for EOR / EON with MOVN.
555+
;==--------------------------------------------------------------------------==
556+
557+
define i64 @movn_0_eon() {
558+
; CHECK-LABEL: movn_0_eon:
559+
; CHECK: // %bb.0:
560+
; CHECK-NEXT: mov x0, #43690 // =0xaaaa
561+
; CHECK-NEXT: movk x0, #21845, lsl #32
562+
; CHECK-NEXT: movk x0, #65535, lsl #48
563+
; CHECK-NEXT: ret
564+
ret i64 u0xffff55550000aaaa
565+
}
566+
567+
define i64 @movn_1_eon() {
568+
; CHECK-LABEL: movn_1_eon:
569+
; CHECK: // %bb.0:
570+
; CHECK-NEXT: mov x0, #2863267840 // =0xaaaa0000
571+
; CHECK-NEXT: movk x0, #65535, lsl #32
572+
; CHECK-NEXT: movk x0, #21845, lsl #48
573+
; CHECK-NEXT: ret
574+
ret i64 u0x5555ffffaaaa0000
575+
}
576+
577+
define i64 @movn_0_eor() {
578+
; CHECK-LABEL: movn_0_eor:
579+
; CHECK: // %bb.0:
580+
; CHECK-NEXT: mov x0, #21845 // =0x5555
581+
; CHECK-NEXT: movk x0, #65535, lsl #16
582+
; CHECK-NEXT: movk x0, #43690, lsl #32
583+
; CHECK-NEXT: ret
584+
ret i64 u0x0000aaaaffff5555
585+
}
586+
587+
define i64 @movn_1_eor() {
588+
; CHECK-LABEL: movn_1_eor:
589+
; CHECK: // %bb.0:
590+
; CHECK-NEXT: mov x0, #65535 // =0xffff
591+
; CHECK-NEXT: movk x0, #21845, lsl #16
592+
; CHECK-NEXT: movk x0, #43690, lsl #48
593+
; CHECK-NEXT: ret
594+
ret i64 u0xaaaa00005555ffff
595+
}
596+
597+
define i64 @movn_movk_eor() {
598+
; CHECK-LABEL: movn_movk_eor:
599+
; CHECK: // %bb.0:
600+
; CHECK-NEXT: mov x0, #43690 // =0xaaaa
601+
; CHECK-NEXT: movk x0, #52428, lsl #16
602+
; CHECK-NEXT: movk x0, #21845, lsl #32
603+
; CHECK-NEXT: movk x0, #13107, lsl #48
604+
; CHECK-NEXT: ret
605+
ret i64 u0x33335555ccccaaaa
606+
}

0 commit comments

Comments
 (0)