|
1899 | 1899 | (extractor (is_multi_register_gpr_type ty)
|
1900 | 1900 | (and (type_register_class (RegisterClass.Gpr false)) ty))
|
1901 | 1901 |
|
| 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 | + |
1902 | 1927 | ;;;; Helpers for Querying Enabled ISA Extensions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1903 | 1928 |
|
1904 | 1929 | (decl pure use_avx512vl () bool)
|
|
2946 | 2971 | (MInst.Mul size signed src1 src2 dst_lo dst_hi)
|
2947 | 2972 | dst_lo)))
|
2948 | 2973 |
|
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 | + |
2970 | 2975 |
|
2971 | 2976 | ;; Helper for emitting `and` instructions.
|
2972 | 2977 | (decl x64_and (Type Gpr GprMemImm) Gpr)
|
|
0 commit comments