File tree Expand file tree Collapse file tree
cranelift/filetests/filetests/isa/riscv64 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -35,3 +35,33 @@ block0:
3535; addi sp, sp, 0x10
3636; ret
3737
38+ function %return_address() -> i64 {
39+ block0:
40+ v0 = get_return_address.i64
41+ return v0
42+ }
43+
44+ ; VCode:
45+ ; addi sp,sp,-16
46+ ; sd ra,8(sp)
47+ ; sd fp,0(sp)
48+ ; mv fp,sp
49+ ; block0:
50+ ; ld a0,8(fp)
51+ ; ld ra,8(sp)
52+ ; ld fp,0(sp)
53+ ; addi sp,sp,16
54+ ; ret
55+ ;
56+ ; Disassembled:
57+ ; block0: ; offset 0x0
58+ ; addi sp, sp, -0x10
59+ ; sd ra, 8(sp)
60+ ; sd s0, 0(sp)
61+ ; mv s0, sp
62+ ; block1: ; offset 0x10
63+ ; ld a0, 8(s0)
64+ ; ld ra, 8(sp)
65+ ; ld s0, 0(sp)
66+ ; addi sp, sp, 0x10
67+ ; ret
Original file line number Diff line number Diff line change @@ -803,3 +803,76 @@ block0(v0: i8):
803803; block0: ; offset 0x0
804804; addiw a0, a0, -1
805805; ret
806+
807+ function %imul_i8_const(i8) -> i8 {
808+ block0(v0: i8):
809+ v3 = imul_imm v0, 97
810+ return v3
811+ }
812+
813+ ; VCode:
814+ ; block0:
815+ ; li a3,97
816+ ; mulw a0,a0,a3
817+ ; ret
818+ ;
819+ ; Disassembled:
820+ ; block0: ; offset 0x0
821+ ; addi a3, zero, 0x61
822+ ; mulw a0, a0, a3
823+ ; ret
824+
825+ function %imul_i16_const(i16) -> i16 {
826+ block0(v0: i16):
827+ v3 = imul_imm v0, 97
828+ return v3
829+ }
830+
831+ ; VCode:
832+ ; block0:
833+ ; li a3,97
834+ ; mulw a0,a0,a3
835+ ; ret
836+ ;
837+ ; Disassembled:
838+ ; block0: ; offset 0x0
839+ ; addi a3, zero, 0x61
840+ ; mulw a0, a0, a3
841+ ; ret
842+
843+ function %imul_i32_const(i32) -> i32 {
844+ block0(v0: i32):
845+ v3 = imul_imm v0, 97
846+ return v3
847+ }
848+
849+ ; VCode:
850+ ; block0:
851+ ; li a3,97
852+ ; mulw a0,a0,a3
853+ ; ret
854+ ;
855+ ; Disassembled:
856+ ; block0: ; offset 0x0
857+ ; addi a3, zero, 0x61
858+ ; mulw a0, a0, a3
859+ ; ret
860+
861+ function %imul_i64_const(i64) -> i64 {
862+ block0(v0: i64):
863+ v3 = imul_imm v0, 97
864+ return v3
865+ }
866+
867+ ; VCode:
868+ ; block0:
869+ ; li a3,97
870+ ; mul a0,a0,a3
871+ ; ret
872+ ;
873+ ; Disassembled:
874+ ; block0: ; offset 0x0
875+ ; addi a3, zero, 0x61
876+ ; mul a0, a0, a3
877+ ; ret
878+
You can’t perform that action at this time.
0 commit comments