Lines Matching refs:ext
82 #define riscv_isa_extension_available(isa_bitmap, ext) \
83 __riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_##ext)
86 riscv_has_extension_likely(const unsigned long ext)
88 compiletime_assert(ext < RISCV_ISA_EXT_MAX,
89 "ext must be < RISCV_ISA_EXT_MAX");
93 ALTERNATIVE("j %l[l_no]", "nop", 0, %[ext], 1)
95 : [ext] "i" (ext)
99 if (!__riscv_isa_extension_available(NULL, ext))
109 riscv_has_extension_unlikely(const unsigned long ext)
111 compiletime_assert(ext < RISCV_ISA_EXT_MAX,
112 "ext must be < RISCV_ISA_EXT_MAX");
116 ALTERNATIVE("nop", "j %l[l_yes]", 0, %[ext], 1)
118 : [ext] "i" (ext)
122 if (__riscv_isa_extension_available(NULL, ext))
131 static __always_inline bool riscv_cpu_has_extension_likely(int cpu, const unsigned long ext)
133 if (IS_ENABLED(CONFIG_RISCV_ALTERNATIVE) && riscv_has_extension_likely(ext))
136 return __riscv_isa_extension_available(hart_isa[cpu].isa, ext);
139 static __always_inline bool riscv_cpu_has_extension_unlikely(int cpu, const unsigned long ext)
141 if (IS_ENABLED(CONFIG_RISCV_ALTERNATIVE) && riscv_has_extension_unlikely(ext))
144 return __riscv_isa_extension_available(hart_isa[cpu].isa, ext);