Skip to content

Commit d69ef83

Browse files
authored
asm: move assembler operand matchers (#10581)
This change only moves the match helpers for the external assembler into a more appropriate location; no functional changes.
1 parent 4d0a43f commit d69ef83

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

cranelift/codegen/src/isa/x64/inst.isle

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1899,6 +1899,31 @@
18991899
(extractor (is_multi_register_gpr_type ty)
19001900
(and (type_register_class (RegisterClass.Gpr false)) ty))
19011901

1902+
;;;; Helpers for matching operands ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1903+
;;
1904+
;; These are mainly used for matching operands for the external assembler.
1905+
1906+
(decl is_imm8 (u8) GprMemImm)
1907+
(extern extractor is_imm8 is_imm8)
1908+
(decl is_simm8 (i8) GprMemImm)
1909+
(extern extractor is_simm8 is_simm8)
1910+
(decl is_imm16 (u16) GprMemImm)
1911+
(extern extractor is_imm16 is_imm16)
1912+
(decl is_simm16 (i16) GprMemImm)
1913+
(extern extractor is_simm16 is_simm16)
1914+
(decl is_imm32 (u32) GprMemImm)
1915+
(extern extractor is_imm32 is_imm32)
1916+
(decl is_simm32 (i32) GprMemImm)
1917+
(extern extractor is_simm32 is_simm32)
1918+
(decl is_gpr (Gpr) GprMemImm)
1919+
(extern extractor is_gpr is_gpr)
1920+
(decl is_gpr_mem (GprMem) GprMemImm)
1921+
(extern extractor is_gpr_mem is_gpr_mem)
1922+
(decl is_xmm_mem (XmmMem) XmmMem)
1923+
(extern extractor is_xmm_mem is_xmm_mem)
1924+
(decl is_xmm (Xmm) XmmMem)
1925+
(extern extractor is_xmm is_xmm)
1926+
19021927
;;;; Helpers for Querying Enabled ISA Extensions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19031928

19041929
(decl pure use_avx512vl () bool)
@@ -2946,27 +2971,7 @@
29462971
(MInst.Mul size signed src1 src2 dst_lo dst_hi)
29472972
dst_lo)))
29482973

2949-
;; Helpers for matching operands, extracting them into their assembler types.
2950-
(decl is_imm8 (u8) GprMemImm)
2951-
(extern extractor is_imm8 is_imm8)
2952-
(decl is_simm8 (i8) GprMemImm)
2953-
(extern extractor is_simm8 is_simm8)
2954-
(decl is_imm16 (u16) GprMemImm)
2955-
(extern extractor is_imm16 is_imm16)
2956-
(decl is_simm16 (i16) GprMemImm)
2957-
(extern extractor is_simm16 is_simm16)
2958-
(decl is_imm32 (u32) GprMemImm)
2959-
(extern extractor is_imm32 is_imm32)
2960-
(decl is_simm32 (i32) GprMemImm)
2961-
(extern extractor is_simm32 is_simm32)
2962-
(decl is_gpr (Gpr) GprMemImm)
2963-
(extern extractor is_gpr is_gpr)
2964-
(decl is_gpr_mem (GprMem) GprMemImm)
2965-
(extern extractor is_gpr_mem is_gpr_mem)
2966-
(decl is_xmm_mem (XmmMem) XmmMem)
2967-
(extern extractor is_xmm_mem is_xmm_mem)
2968-
(decl is_xmm (Xmm) XmmMem)
2969-
(extern extractor is_xmm is_xmm)
2974+
29702975

29712976
;; Helper for emitting `and` instructions.
29722977
(decl x64_and (Type Gpr GprMemImm) Gpr)

0 commit comments

Comments
 (0)