< prev index next >

src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp

Print this page

213                          FloatRegister vtmp1, FloatRegister vtmp2, FloatRegister vtmp3,
214                          PRegister ptmp, PRegister pgtmp, unsigned vector_length_in_bytes);
215 
216   void sve_compress_short(FloatRegister dst, FloatRegister src, PRegister mask,
217                           FloatRegister vzr, FloatRegister vtmp,
218                           PRegister pgtmp, unsigned vector_length_in_bytes);
219 
220   void neon_reverse_bits(FloatRegister dst, FloatRegister src, BasicType bt, bool isQ);
221 
222   void neon_reverse_bytes(FloatRegister dst, FloatRegister src, BasicType bt, bool isQ);
223 
224   void neon_rearrange_hsd(FloatRegister dst, FloatRegister src, FloatRegister shuffle,
225                           FloatRegister tmp, BasicType bt, bool isQ);
226   // java.lang.Math::signum intrinsics
227   void vector_signum_neon(FloatRegister dst, FloatRegister src, FloatRegister zero,
228                           FloatRegister one, SIMD_Arrangement T);
229 
230   void vector_signum_sve(FloatRegister dst, FloatRegister src, FloatRegister zero,
231                          FloatRegister one, FloatRegister vtmp, PRegister pgtmp, SIMD_RegVariant T);
232 



233   void verify_int_in_range(uint idx, const TypeInt* t, Register val, Register tmp);
234   void verify_long_in_range(uint idx, const TypeLong* t, Register val, Register tmp);
235 
236   void reconstruct_frame_pointer(Register rtmp);
237 
238   // Select from a table of two vectors
239   void select_from_two_vectors(FloatRegister dst, FloatRegister src1, FloatRegister src2,
240                                FloatRegister index, FloatRegister tmp, BasicType bt,
241                                unsigned vector_length_in_bytes);
242 
243   void vector_expand_neon(FloatRegister dst, FloatRegister src, FloatRegister mask,
244                           FloatRegister tmp1, FloatRegister tmp2, BasicType bt,
245                           int vector_length_in_bytes);
246   void vector_expand_sve(FloatRegister dst, FloatRegister src, PRegister pg,
247                          FloatRegister tmp1, FloatRegister tmp2, BasicType bt,
248                          int vector_length_in_bytes);
249 
250   void sve_cpy(FloatRegister dst, SIMD_RegVariant T, PRegister pg, int imm8,
251                bool isMerge);
252 #endif // CPU_AARCH64_C2_MACROASSEMBLER_AARCH64_HPP

213                          FloatRegister vtmp1, FloatRegister vtmp2, FloatRegister vtmp3,
214                          PRegister ptmp, PRegister pgtmp, unsigned vector_length_in_bytes);
215 
216   void sve_compress_short(FloatRegister dst, FloatRegister src, PRegister mask,
217                           FloatRegister vzr, FloatRegister vtmp,
218                           PRegister pgtmp, unsigned vector_length_in_bytes);
219 
220   void neon_reverse_bits(FloatRegister dst, FloatRegister src, BasicType bt, bool isQ);
221 
222   void neon_reverse_bytes(FloatRegister dst, FloatRegister src, BasicType bt, bool isQ);
223 
224   void neon_rearrange_hsd(FloatRegister dst, FloatRegister src, FloatRegister shuffle,
225                           FloatRegister tmp, BasicType bt, bool isQ);
226   // java.lang.Math::signum intrinsics
227   void vector_signum_neon(FloatRegister dst, FloatRegister src, FloatRegister zero,
228                           FloatRegister one, SIMD_Arrangement T);
229 
230   void vector_signum_sve(FloatRegister dst, FloatRegister src, FloatRegister zero,
231                          FloatRegister one, FloatRegister vtmp, PRegister pgtmp, SIMD_RegVariant T);
232 
233   static void abort_verify_int_in_range(uint idx, jint val, jint lo, jint hi);
234   static void abort_verify_long_in_range(uint idx, jlong val, jlong lo, jlong hi);
235 
236   void verify_int_in_range(uint idx, const TypeInt* t, Register val, Register tmp);
237   void verify_long_in_range(uint idx, const TypeLong* t, Register val, Register tmp);
238 
239   void reconstruct_frame_pointer(Register rtmp);
240 
241   // Select from a table of two vectors
242   void select_from_two_vectors(FloatRegister dst, FloatRegister src1, FloatRegister src2,
243                                FloatRegister index, FloatRegister tmp, BasicType bt,
244                                unsigned vector_length_in_bytes);
245 
246   void vector_expand_neon(FloatRegister dst, FloatRegister src, FloatRegister mask,
247                           FloatRegister tmp1, FloatRegister tmp2, BasicType bt,
248                           int vector_length_in_bytes);
249   void vector_expand_sve(FloatRegister dst, FloatRegister src, PRegister pg,
250                          FloatRegister tmp1, FloatRegister tmp2, BasicType bt,
251                          int vector_length_in_bytes);
252 
253   void sve_cpy(FloatRegister dst, SIMD_RegVariant T, PRegister pg, int imm8,
254                bool isMerge);
255 #endif // CPU_AARCH64_C2_MACROASSEMBLER_AARCH64_HPP
< prev index next >