Skip to content

Commit bd28889

Browse files
committed
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
1 parent 9ddedf0 commit bd28889

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

llvm/test/CodeGen/RISCV/rv64zba.ll

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,66 @@ define i64 @mul96(i64 %a) {
567567
ret i64 %c
568568
}
569569

570+
define i64 @mul119(i64 %a) {
571+
; CHECK-LABEL: mul119:
572+
; CHECK: # %bb.0:
573+
; CHECK-NEXT: li a1, 119
574+
; CHECK-NEXT: mul a0, a0, a1
575+
; CHECK-NEXT: ret
576+
%c = mul i64 %a, 119
577+
ret i64 %c
578+
}
579+
580+
define i64 @mul123(i64 %a) {
581+
; CHECK-LABEL: mul123:
582+
; CHECK: # %bb.0:
583+
; CHECK-NEXT: li a1, 123
584+
; CHECK-NEXT: mul a0, a0, a1
585+
; CHECK-NEXT: ret
586+
%c = mul i64 %a, 123
587+
ret i64 %c
588+
}
589+
590+
define i64 @mul125(i64 %a) {
591+
; CHECK-LABEL: mul125:
592+
; CHECK: # %bb.0:
593+
; CHECK-NEXT: li a1, 125
594+
; CHECK-NEXT: mul a0, a0, a1
595+
; CHECK-NEXT: ret
596+
%c = mul i64 %a, 125
597+
ret i64 %c
598+
}
599+
600+
define i64 @mul131(i64 %a) {
601+
; CHECK-LABEL: mul131:
602+
; CHECK: # %bb.0:
603+
; CHECK-NEXT: li a1, 131
604+
; CHECK-NEXT: mul a0, a0, a1
605+
; CHECK-NEXT: ret
606+
%c = mul i64 %a, 131
607+
ret i64 %c
608+
}
609+
610+
define i64 @mul133(i64 %a) {
611+
; CHECK-LABEL: mul133:
612+
; CHECK: # %bb.0:
613+
; CHECK-NEXT: li a1, 133
614+
; CHECK-NEXT: mul a0, a0, a1
615+
; CHECK-NEXT: ret
616+
%c = mul i64 %a, 133
617+
ret i64 %c
618+
}
619+
620+
define i64 @mul137(i64 %a) {
621+
; CHECK-LABEL: mul137:
622+
; CHECK: # %bb.0:
623+
; CHECK-NEXT: li a1, 137
624+
; CHECK-NEXT: mul a0, a0, a1
625+
; CHECK-NEXT: ret
626+
%c = mul i64 %a, 137
627+
ret i64 %c
628+
}
629+
570630
define i64 @mul160(i64 %a) {
571631
; RV64I-LABEL: mul160:
572632
; RV64I: # %bb.0:

0 commit comments

Comments
 (0)