Ryan Houdek
|
3a89df9bed
|
AVX128: Implement support for F16C
|
2024-06-26 14:05:12 -07:00 |
|
Ryan Houdek
|
a4fa3a460e
|
OpcodeDispatcher: Implement AVX gathers with SVE256
Just to ensure we still have feature parity.
|
2024-06-26 16:00:53 -04:00 |
|
Ryan Houdek
|
77ba708933
|
AVX128: Implement support for gather load instructions
This is the last family of instructions that we needed to implement for
AVX2 to be properly advertised!
|
2024-06-26 16:00:53 -04:00 |
|
Alyssa Rosenzweig
|
d1d41f5645
|
Merge pull request #3763 from alyssarosenzweig/rclse/less-aggressive
Remove RCLSE
|
2024-06-26 15:14:14 -04:00 |
|
Ryan Houdek
|
94fd100fc7
|
Merge pull request #3719 from lioncash/f16c
OpcodeDispatcher: Handle F16C operations
|
2024-06-26 12:12:13 -07:00 |
|
Lioncache
|
cd5a809ec9
|
OpcodeDispatcher: Handle VCVTPS2PH
|
2024-06-26 15:05:03 -04:00 |
|
Lioncache
|
045a8efbeb
|
OpcodeDispatcher: Handle VCVTPH2PS
Fairly straightforward, since we already have handling for half-float conversions.
|
2024-06-26 15:05:00 -04:00 |
|
Alyssa Rosenzweig
|
a5b24bfe4c
|
IR: drop RCLSE
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-26 14:49:05 -04:00 |
|
Alyssa Rosenzweig
|
46676ca376
|
OpcodeDispatcher: add cache
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-26 14:49:05 -04:00 |
|
Ryan Houdek
|
832b247fc1
|
SVE258: Implement support for FMA3
|
2024-06-25 11:24:46 -07:00 |
|
Ryan Houdek
|
0e8b53d566
|
AVX128: Implement FMA3 instructions
|
2024-06-25 11:23:50 -07:00 |
|
Ryan Houdek
|
7069643ae6
|
AVX128: Implement support for VPCLMULQDQ
This is just the 128-bit version twice.
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
34272fc134
|
AVX128: Implement support for vperm{d,ps}!
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
1d41002dfe
|
AVX128: Implement support for variable vpermil{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
563bf342d5
|
AVX128: Implement support for vptest
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
efd5fabb95
|
AVX128: Implement support for vtest{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
c1da525110
|
AVX128: Implement support for vperm2{f128,i128}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
64cce7c6fa
|
AVX128: Implement support for xsave/xrstor
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
4544e5b51f
|
AVX128: Implement support for vblend{ps,pd}/vpblendvb
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
eb3e314946
|
AVX128: Implement support for vmaskmovdqu
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
8b65c3de10
|
AVX128: Implement vmaskmov{ps,pd}, vpmaskmov{d,q} using SVE2 gather loadstores.
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
c2beb27a9d
|
AVX128: Implement support for vpalignr
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
05fdec9e72
|
AVX128: Implement support for vmpsadbw
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
e8e3c95349
|
AVX128: Implement support for vpsadbw
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
a87fa3f246
|
AVX128: Implement support for vpshufb
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
b31ad523f5
|
AVX128: Implement support for hsub{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
34bce540ff
|
AVX128: Implement support for vpblendw/vpblendd/vblendps/vblendpd
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
8ea38e1d80
|
AVX128: Implement support for vpmaddwd
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
ce591a9541
|
AVX128: Implement support for vpmaddubsw
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
a48c65cd65
|
AVX128: Implement support for vphaddsw
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
c283f80f48
|
AVX128: Implement support for vhaddpd/vphadd{w,d}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
d6bf276b5a
|
AVX128: Implement support for imm vpermil{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
96a51650b1
|
AVX128: Implement support for vshuf{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
f35a9c74a2
|
AVX128: Implement support for vpshuf{lw,hw,d}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
e2457943f5
|
AVX128: Implement support for vperm{q,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
a05644172a
|
AVX128: Implement support for vdd{ps,pd}
|
2024-06-25 10:03:33 -04:00 |
|
Ryan Houdek
|
cc168ce0fb
|
VectorOps: Restructure DPPOpImpl. This will get reused by AVX128
|
2024-06-25 10:03:33 -04:00 |
|
Alyssa Rosenzweig
|
18574f3cf1
|
OpcodeDispatcher: extract VPERMILRegOpImpl
for avx
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-25 10:03:33 -04:00 |
|
Alyssa Rosenzweig
|
665215ab47
|
OpcodeDispatcher: extract PTestOpImpl
for avx128
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-25 09:52:48 -04:00 |
|
Alyssa Rosenzweig
|
6009f36403
|
OpcodeDispatcher: extract VPERMDIndices
and rename things accordingly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-25 09:46:17 -04:00 |
|
Alyssa Rosenzweig
|
2580efda0d
|
OpcodeDispatcher: tweak VTestOp signature
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-25 09:46:17 -04:00 |
|
Alyssa Rosenzweig
|
21c6986dc7
|
OpcodeDispatcher: tweak HSUBPOpImpl
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-24 18:21:08 -04:00 |
|
Alyssa Rosenzweig
|
635720fe12
|
OpcodeDispatcher: tweak PHADDSOpImpl signature
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-24 18:21:08 -04:00 |
|
Ryan Houdek
|
702ecf7637
|
AVX128: Implement support for round{ss,sd}
|
2024-06-24 15:19:08 -04:00 |
|
Ryan Houdek
|
0595f1e044
|
AVX128: Implement support for vround{ps,pd}
|
2024-06-24 15:19:08 -04:00 |
|
Ryan Houdek
|
cebb032bd3
|
AVX128: Implement support for vphminposuw
Reuses the non-AVX implementation since it only operates on 128-bits.
|
2024-06-24 15:19:08 -04:00 |
|
Ryan Houdek
|
8e32763ada
|
AVX128: Implements support for AVX string ops
Reuses the implementation from the SSE4.2 implementation, just
explicitly zeroes the hardcoded YMM0's upper 128-bits.
|
2024-06-24 15:19:08 -04:00 |
|
Ryan Houdek
|
7532337231
|
AVX128: Implements support for vector AES instructions
|
2024-06-24 15:19:08 -04:00 |
|
Ryan Houdek
|
4a66d4570e
|
AVX128: Implement support for a trinary operation with a passed in vector
Will be used for AES operations
|
2024-06-24 15:19:08 -04:00 |
|
Alyssa Rosenzweig
|
6f5e99d47d
|
OpcodeDispatcher: factor out TranslateRoundType
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
2024-06-24 15:19:08 -04:00 |
|