src/cpu/x86/vm/assembler_x86.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/x86/vm/assembler_x86.hpp
src/cpu/x86/vm/assembler_x86.hpp
Print this page
rev 10354 : imported patch vextrinscleanup2
rev 10355 : [mq]: vextrinscleanup3
rev 10357 : [mq]: vextrinscleanup5
*** 1956,1992 ****
// Xor packed integers
void pxor(XMMRegister dst, XMMRegister src);
void vpxor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
void vpxor(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
! // Copy low 128bit into high 128bit of YMM registers.
! void vinsertf128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
! void vinserti128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
! void vextractf128h(XMMRegister dst, XMMRegister src);
! void vextracti128h(XMMRegister dst, XMMRegister src);
!
! // Load/store high 128bit of YMM registers which does not destroy other half.
! void vinsertf128h(XMMRegister dst, Address src);
! void vinserti128h(XMMRegister dst, Address src);
! void vextractf128h(Address dst, XMMRegister src);
! void vextracti128h(Address dst, XMMRegister src);
!
! // Copy low 256bit into high 256bit of ZMM registers.
! void vinserti64x4h(XMMRegister dst, XMMRegister nds, XMMRegister src, int value);
! void vinsertf64x4h(XMMRegister dst, XMMRegister nds, XMMRegister src, int value);
! void vextracti64x4h(XMMRegister dst, XMMRegister src, int value);
! void vextractf64x4h(XMMRegister dst, XMMRegister src, int value);
! void vextractf64x4h(Address dst, XMMRegister src, int value);
! void vinsertf64x4h(XMMRegister dst, Address src, int value);
!
! // Copy targeted 128bit segments of the ZMM registers
! void vextracti64x2h(XMMRegister dst, XMMRegister src, int value);
! void vextractf64x2h(XMMRegister dst, XMMRegister src, int value);
! void vextractf32x4h(XMMRegister dst, XMMRegister src, int value);
! void vextractf32x4h(Address dst, XMMRegister src, int value);
! void vinsertf32x4h(XMMRegister dst, XMMRegister nds, XMMRegister src, int value);
! void vinsertf32x4h(XMMRegister dst, Address src, int value);
// duplicate 4-bytes integer data from src into 8 locations in dest
void vpbroadcastd(XMMRegister dst, XMMRegister src);
// duplicate 2-bytes integer data from src into 16 locations in dest
--- 1956,1990 ----
// Xor packed integers
void pxor(XMMRegister dst, XMMRegister src);
void vpxor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
void vpxor(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
! // 128bit copy from/to 256bit (YMM) vector registers
! void vinsertf128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
! void vinserti128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
! void vextractf128(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextracti128(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vinsertf128(XMMRegister dst, XMMRegister nds, Address src, uint8_t imm8);
! void vinserti128(XMMRegister dst, XMMRegister nds, Address src, uint8_t imm8);
! void vextractf128(Address dst, XMMRegister src, uint8_t imm8);
! void vextracti128(Address dst, XMMRegister src, uint8_t imm8);
!
! // 256bit copy from/to 512bit (ZMM) vector registers
! void vinserti64x4(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
! void vinsertf64x4(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
! void vextracti64x4(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextractf64x4(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextractf64x4(Address dst, XMMRegister src, uint8_t imm8);
! void vinsertf64x4(XMMRegister dst, XMMRegister nds, Address src, uint8_t imm8);
!
! // 128bit copy from/to 256bit (YMM) or 512bit (ZMM) vector registers
! void vextracti64x2(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextractf64x2(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextractf32x4(XMMRegister dst, XMMRegister src, uint8_t imm8);
! void vextractf32x4(Address dst, XMMRegister src, uint8_t imm8);
! void vinsertf32x4(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
! void vinsertf32x4(XMMRegister dst, XMMRegister nds, Address src, uint8_t imm8);
// duplicate 4-bytes integer data from src into 8 locations in dest
void vpbroadcastd(XMMRegister dst, XMMRegister src);
// duplicate 2-bytes integer data from src into 16 locations in dest
src/cpu/x86/vm/assembler_x86.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File