< prev index next >

src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp

Print this page
@@ -86,10 +86,15 @@
  
    void signum_fp(int opcode, XMMRegister dst,
                   XMMRegister zero, XMMRegister one,
                   Register scratch);
  
+   void vector_compress_expand(int opcode, XMMRegister dst, XMMRegister src, KRegister mask,
+                               bool merge, BasicType bt, int vec_enc);
+ 
+   void vector_mask_compress(KRegister dst, KRegister src, Register rtmp1, Register rtmp2, int mask_len);
+ 
    void vextendbw(bool sign, XMMRegister dst, XMMRegister src, int vector_len);
    void vextendbw(bool sign, XMMRegister dst, XMMRegister src);
    void vextendbd(bool sign, XMMRegister dst, XMMRegister src, int vector_len);
    void vextendwd(bool sign, XMMRegister dst, XMMRegister src, int vector_len);
  

@@ -338,23 +343,78 @@
                    bool merge, BasicType bt, int vlen_enc);
  
    void evpternlog(XMMRegister dst, int func, KRegister mask, XMMRegister src2, Address src3,
                    bool merge, BasicType bt, int vlen_enc);
  
+   void vector_reverse_bit(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                           XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+   void vector_reverse_bit_gfni(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp,
+                                AddressLiteral mask, Register rtmp, int vec_enc);
+ 
+   void vector_reverse_byte(BasicType bt, XMMRegister dst, XMMRegister src, Register rtmp, int vec_enc);
+ 
    void udivI(Register rax, Register divisor, Register rdx);
    void umodI(Register rax, Register divisor, Register rdx);
    void udivmodI(Register rax, Register divisor, Register rdx, Register tmp);
  
-   #ifdef _LP64
+ #ifdef _LP64
    void udivL(Register rax, Register divisor, Register rdx);
    void umodL(Register rax, Register divisor, Register rdx);
    void udivmodL(Register rax, Register divisor, Register rdx, Register tmp);
-   #endif
+ #endif
+ 
    void vector_popcount_int(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
-                            XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp,
-                            int vec_enc);
+                            XMMRegister xtmp2, Register rtmp, int vec_enc);
  
    void vector_popcount_long(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
-                             XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp,
-                             int vec_enc);
+                             XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+   void vector_popcount_short(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                              XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+   void vector_popcount_byte(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                             XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+   void vector_popcount_integral(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                 XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+   void vector_popcount_integral_evex(BasicType bt, XMMRegister dst, XMMRegister src,
+                                      KRegister mask, bool merge, int vec_enc);
+ 
+   void vbroadcast(BasicType bt, XMMRegister dst, int imm32, Register rtmp, int vec_enc);
+ 
+   void vector_reverse_byte64(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                              XMMRegister xtmp2, Register rtmp, int vec_enc);
+ 
+ 
+   void vector_count_leading_zeros_evex(BasicType bt, XMMRegister dst, XMMRegister src,
+                                        XMMRegister xtmp1, XMMRegister xtmp2, XMMRegister xtmp3,
+                                        KRegister ktmp, Register rtmp, bool merge, int vec_enc);
+ 
+   void vector_count_leading_zeros_byte_avx(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                            XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc);
+ 
+   void vector_count_leading_zeros_short_avx(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                             XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc);
+ 
+   void vector_count_leading_zeros_int_avx(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                           XMMRegister xtmp2, XMMRegister xtmp3, int vec_enc);
+ 
+   void vector_count_leading_zeros_long_avx(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                            XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc);
+ 
+   void vector_count_leading_zeros_avx(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                       XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc);
+ 
+   void vpadd(BasicType bt, XMMRegister dst, XMMRegister src1, XMMRegister src2, int vec_enc);
+ 
+   void vpsub(BasicType bt, XMMRegister dst, XMMRegister src1, XMMRegister src2, int vec_enc);
+ 
+   void vector_count_trailing_zeros_evex(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                         XMMRegister xtmp2, XMMRegister xtmp3, XMMRegister xtmp4, KRegister ktmp,
+                                         Register rtmp, int vec_enc);
+ 
+   void vector_count_trailing_zeros_avx(BasicType bt, XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
+                                        XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc);
  
  #endif // CPU_X86_C2_MACROASSEMBLER_X86_HPP
< prev index next >