@@ -121,7 +121,6 @@ MINI_OP(OP_STORER8_MEMBASE_REG, "storer8_membase_reg", IREG, FREG, NONE)
121
121
122
122
#if defined(TARGET_X86 ) || defined(TARGET_AMD64 )
123
123
MINI_OP (OP_STOREX_MEMBASE_REG , "storex_membase_reg" , IREG , XREG , NONE )
124
- MINI_OP (OP_STOREX_ALIGNED_MEMBASE_REG , "storex_aligned_membase_reg" , IREG , XREG , NONE )
125
124
MINI_OP (OP_STOREX_NTA_MEMBASE_REG , "storex_nta_membase_reg" , IREG , XREG , NONE )
126
125
#endif
127
126
@@ -149,8 +148,9 @@ MINI_OP(OP_LOADR8_MEMBASE,"loadr8_membase", FREG, IREG, NONE)
149
148
/* klass must be set to a simd class */
150
149
MINI_OP (OP_LOADX_MEMBASE , "loadx_membase" , XREG , IREG , NONE )
151
150
152
- #if defined(TARGET_X86 ) || defined(TARGET_AMD64 )
151
+ #if defined(TARGET_X86 ) || defined(TARGET_AMD64 ) || defined( TARGET_S390X )
153
152
MINI_OP (OP_LOADX_ALIGNED_MEMBASE , "loadx_aligned_membase" , XREG , IREG , NONE )
153
+ MINI_OP (OP_STOREX_ALIGNED_MEMBASE_REG , "storex_aligned_membase_reg" , IREG , XREG , NONE )
154
154
#endif
155
155
156
156
MINI_OP (OP_LOADV_MEMBASE , "loadv_membase" , VREG , IREG , NONE )
@@ -1049,8 +1049,6 @@ MINI_OP(OP_CVTPS2PD, "cvtps2pd", XREG, XREG, NONE)
1049
1049
MINI_OP (OP_CVTTPD2DQ , "cvttpd2dq" , XREG , XREG , NONE )
1050
1050
MINI_OP (OP_CVTTPS2DQ , "cvttps2dq" , XREG , XREG , NONE )
1051
1051
1052
- MINI_OP (OP_VECTOR_IABS , "vector_integer_abs" , XREG , XREG , NONE )
1053
- MINI_OP (OP_VECTOR_ANDN , "vector_andnot" , XREG , XREG , XREG )
1054
1052
1055
1053
/* sse 1 */
1056
1054
/* inst_c1 is target type */
@@ -1498,6 +1496,139 @@ MINI_OP(OP_S390_CIJ, "s390_cij", IREG, NONE, NONE)
1498
1496
MINI_OP (OP_S390_CLIJ , "s390_cij_un" , IREG , IREG , NONE )
1499
1497
MINI_OP (OP_S390_CGIJ , "s390_cgij" , LREG , NONE , NONE )
1500
1498
MINI_OP (OP_S390_CLGIJ , "s390_cgij_un" , LREG , NONE , NONE )
1499
+ MINI_OP (OP_S390_VAB , "s390_vab" , XREG , XREG , XREG )
1500
+ MINI_OP (OP_S390_VAH , "s390_vah" , XREG , XREG , XREG )
1501
+ MINI_OP (OP_S390_VAF , "s390_vaf" , XREG , XREG , XREG )
1502
+ MINI_OP (OP_S390_VAG , "s390_vag" , XREG , XREG , XREG )
1503
+ MINI_OP (OP_S390_VFASB , "s390_vfasb" , XREG , XREG , XREG )
1504
+ MINI_OP (OP_S390_VFADB , "s390_vfadb" , XREG , XREG , XREG )
1505
+ MINI_OP (OP_S390_VSB , "s390_vsb" , XREG , XREG , XREG )
1506
+ MINI_OP (OP_S390_VSH , "s390_vsh" , XREG , XREG , XREG )
1507
+ MINI_OP (OP_S390_VSF , "s390_vsf" , XREG , XREG , XREG )
1508
+ MINI_OP (OP_S390_VSG , "s390_vsg" , XREG , XREG , XREG )
1509
+ MINI_OP (OP_S390_VFSSB , "s390_vfssb" , XREG , XREG , XREG )
1510
+ MINI_OP (OP_S390_VFSDB , "s390_vfsdb" , XREG , XREG , XREG )
1511
+ MINI_OP (OP_S390_VMLB , "s390_vmlb" , XREG , XREG , XREG )
1512
+ MINI_OP (OP_S390_VMLHW , "s390_vmlhw" , XREG , XREG , XREG )
1513
+ MINI_OP (OP_S390_VMLF , "s390_vmlf" , XREG , XREG , XREG )
1514
+ MINI_OP (OP_S390_VFMSB , "s390_vfmsb" , XREG , XREG , XREG )
1515
+ MINI_OP (OP_S390_VFMDB , "s390_vfmdb" , XREG , XREG , XREG )
1516
+ MINI_OP (OP_S390_VFDSB , "s390_vfdsb" , XREG , XREG , XREG )
1517
+ MINI_OP (OP_S390_VFDDB , "s390_vfddb" , XREG , XREG , XREG )
1518
+ MINI_OP (OP_S390_VMXB , "s390_vmxb" , XREG , XREG , XREG )
1519
+ MINI_OP (OP_S390_VMXH , "s390_vmxh" , XREG , XREG , XREG )
1520
+ MINI_OP (OP_S390_VMXF , "s390_vmxf" , XREG , XREG , XREG )
1521
+ MINI_OP (OP_S390_VMXG , "s390_vmxg" , XREG , XREG , XREG )
1522
+ MINI_OP (OP_S390_VFMAXSB , "s390_vfmaxsb" , XREG , XREG , XREG )
1523
+ MINI_OP (OP_S390_VFMAXDB , "s390_vfmaxdb" , XREG , XREG , XREG )
1524
+ MINI_OP (OP_S390_VMNB , "s390_vmnb" , XREG , XREG , XREG )
1525
+ MINI_OP (OP_S390_VMNH , "s390_vmnh" , XREG , XREG , XREG )
1526
+ MINI_OP (OP_S390_VMNF , "s390_vmnf" , XREG , XREG , XREG )
1527
+ MINI_OP (OP_S390_VMNG , "s390_vmng" , XREG , XREG , XREG )
1528
+ MINI_OP (OP_S390_VFMINSB , "s390_vfminsb" , XREG , XREG , XREG )
1529
+ MINI_OP (OP_S390_VFMINDB , "s390_vfmindb" , XREG , XREG , XREG )
1530
+ MINI_OP (OP_S390_VMXLB , "s390_vmxlb" , XREG , XREG , XREG )
1531
+ MINI_OP (OP_S390_VMXLH , "s390_vmxlh" , XREG , XREG , XREG )
1532
+ MINI_OP (OP_S390_VMXLF , "s390_vmxlf" , XREG , XREG , XREG )
1533
+ MINI_OP (OP_S390_VMXLG , "s390_vmxlg" , XREG , XREG , XREG )
1534
+ MINI_OP (OP_S390_VMNLB , "s390_vmnlb" , XREG , XREG , XREG )
1535
+ MINI_OP (OP_S390_VMNLH , "s390_vmnlh" , XREG , XREG , XREG )
1536
+ MINI_OP (OP_S390_VMNLF , "s390_vmnlf" , XREG , XREG , XREG )
1537
+ MINI_OP (OP_S390_VMNLG , "s390_vmnlg" , XREG , XREG , XREG )
1538
+ MINI_OP (OP_S390_VO , "s390_vo" , XREG , XREG , XREG )
1539
+ MINI_OP (OP_S390_VNO , "s390_vno" , XREG , XREG , XREG )
1540
+ MINI_OP (OP_S390_VX , "s390_vx" , XREG , XREG , XREG )
1541
+ MINI_OP (OP_S390_VN , "s390_vn" , XREG , XREG , XREG )
1542
+ MINI_OP (OP_S390_VNN , "s390_vnn" , XREG , XREG , XREG )
1543
+ MINI_OP (OP_S390_VSUMB , "s390_vsumb" , XREG , XREG , XREG )
1544
+ MINI_OP (OP_S390_VSUMH , "s390_vsumh" , XREG , XREG , XREG )
1545
+ MINI_OP (OP_S390_VSUMQF , "s390_vsumqf" , XREG , XREG , XREG )
1546
+ MINI_OP (OP_S390_VSUMQG , "s390_vsumqg" , XREG , XREG , XREG )
1547
+ MINI_OP (OP_S390_VPERM , "s390_vperm" , XREG , XREG , XREG )
1548
+ MINI_OP (OP_S390_VREPIB , "s390_vrepib" , XREG , NONE , NONE )
1549
+ MINI_OP (OP_S390_VREPIH , "s390_vrepih" , XREG , NONE , NONE )
1550
+ MINI_OP (OP_S390_VREPIF , "s390_vrepif" , XREG , NONE , NONE )
1551
+ MINI_OP (OP_S390_VREPIG , "s390_vrepig" , XREG , NONE , NONE )
1552
+ MINI_OP (OP_S390_VFSQSB , "s390_vfsqsb" , XREG , XREG , NONE )
1553
+ MINI_OP (OP_S390_VFSQDB , "s390_vfsqdb" , XREG , XREG , NONE )
1554
+ MINI_OP (OP_S390_VFCESBS , "s390_vfcesbs" , XREG , XREG , XREG )
1555
+ MINI_OP (OP_S390_VFCEDBS , "s390_vfcedbs" , XREG , XREG , XREG )
1556
+ MINI_OP (OP_S390_VFCHSBS , "s390_vfchsbs" , XREG , XREG , XREG )
1557
+ MINI_OP (OP_S390_VFCHDBS , "s390_vfchdbs" , XREG , XREG , XREG )
1558
+ MINI_OP (OP_S390_VFCESB , "s390_vfcesb" , XREG , XREG , XREG )
1559
+ MINI_OP (OP_S390_VFCEDB , "s390_vfcedb" , XREG , XREG , XREG )
1560
+ MINI_OP (OP_S390_VFCHSB , "s390_vfchsb" , XREG , XREG , XREG )
1561
+ MINI_OP (OP_S390_VFCHDB , "s390_vfchdb" , XREG , XREG , XREG )
1562
+ MINI_OP (OP_S390_VCEQBS , "s390_vceqbs" , XREG , XREG , XREG )
1563
+ MINI_OP (OP_S390_VCEQHS , "s390_vceqhs" , XREG , XREG , XREG )
1564
+ MINI_OP (OP_S390_VCEQFS , "s390_vceqfs" , XREG , XREG , XREG )
1565
+ MINI_OP (OP_S390_VCEQGS , "s390_vceqgs" , XREG , XREG , XREG )
1566
+ MINI_OP (OP_S390_VCEQB , "s390_vceqb" , XREG , XREG , XREG )
1567
+ MINI_OP (OP_S390_VCEQH , "s390_vceqh" , XREG , XREG , XREG )
1568
+ MINI_OP (OP_S390_VCEQF , "s390_vceqf" , XREG , XREG , XREG )
1569
+ MINI_OP (OP_S390_VCEQG , "s390_vceqg" , XREG , XREG , XREG )
1570
+ MINI_OP (OP_S390_VGMB , "s390_vgmb" , XREG , IREG , IREG )
1571
+ MINI_OP (OP_S390_VGMH , "s390_vgmh" , XREG , IREG , IREG )
1572
+ MINI_OP (OP_S390_VGMF , "s390_vgmf" , XREG , IREG , IREG )
1573
+ MINI_OP (OP_S390_VGMG , "s390_vgmg" , XREG , IREG , IREG )
1574
+ MINI_OP (OP_S390_VECB , "s390_vecb" , XREG , XREG , NONE )
1575
+ MINI_OP (OP_S390_VECF , "s390_vecf" , XREG , XREG , NONE )
1576
+ MINI_OP (OP_S390_VECH , "s390_vech" , XREG , XREG , NONE )
1577
+ MINI_OP (OP_S390_VECG , "s390_vecg" , XREG , XREG , NONE )
1578
+ MINI_OP (OP_S390_VECLB , "s390_veclb" , XREG , XREG , NONE )
1579
+ MINI_OP (OP_S390_VECLF , "s390_veclf" , XREG , XREG , NONE )
1580
+ MINI_OP (OP_S390_VECLH , "s390_veclh" , XREG , XREG , NONE )
1581
+ MINI_OP (OP_S390_VECLG , "s390_veclg" , XREG , XREG , NONE )
1582
+ MINI_OP (OP_S390_VCHBS , "s390_vchbs" , XREG , XREG , XREG )
1583
+ MINI_OP (OP_S390_VCHHS , "s390_vchhs" , XREG , XREG , XREG )
1584
+ MINI_OP (OP_S390_VCHFS , "s390_vchfs" , XREG , XREG , XREG )
1585
+ MINI_OP (OP_S390_VCHGS , "s390_vchgs" , XREG , XREG , XREG )
1586
+ MINI_OP (OP_S390_VCHB , "s390_vchb" , XREG , XREG , XREG )
1587
+ MINI_OP (OP_S390_VCHH , "s390_vchh" , XREG , XREG , XREG )
1588
+ MINI_OP (OP_S390_VCHF , "s390_vchf" , XREG , XREG , XREG )
1589
+ MINI_OP (OP_S390_VCHG , "s390_vchg" , XREG , XREG , XREG )
1590
+ MINI_OP (OP_S390_VCHLBS , "s390_vchlbs" , XREG , XREG , XREG )
1591
+ MINI_OP (OP_S390_VCHLHS , "s390_vchlhs" , XREG , XREG , XREG )
1592
+ MINI_OP (OP_S390_VCHLFS , "s390_vchlfs" , XREG , XREG , XREG )
1593
+ MINI_OP (OP_S390_VCHLGS , "s390_vchlgs" , XREG , XREG , XREG )
1594
+ MINI_OP (OP_S390_VCHLB , "s390_vchlb" , XREG , XREG , XREG )
1595
+ MINI_OP (OP_S390_VCHLH , "s390_vchlh" , XREG , XREG , XREG )
1596
+ MINI_OP (OP_S390_VCHLF , "s390_vchlf" , XREG , XREG , XREG )
1597
+ MINI_OP (OP_S390_VCHLG , "s390_vchlg" , XREG , XREG , XREG )
1598
+ MINI_OP (OP_S390_VFCHESBS , "s390_vfchesbs" , XREG , XREG , XREG )
1599
+ MINI_OP (OP_S390_VFCHEDBS , "s390_vfchedbs" , XREG , XREG , XREG )
1600
+ MINI_OP (OP_S390_VFCHESB , "s390_vfchesb" , XREG , XREG , XREG )
1601
+ MINI_OP (OP_S390_VFCHEDB , "s390_vfchedb" , XREG , XREG , XREG )
1602
+ MINI_OP (OP_S390_VLPB , "s390_vlpb" , XREG , XREG , NONE )
1603
+ MINI_OP (OP_S390_VLPH , "s390_vlph" , XREG , XREG , NONE )
1604
+ MINI_OP (OP_S390_VLPF , "s390_vlpf" , XREG , XREG , NONE )
1605
+ MINI_OP (OP_S390_VLPG , "s390_vlpg" , XREG , XREG , NONE )
1606
+ MINI_OP (OP_S390_VFLPDB , "s390_vflpdb" , XREG , XREG , NONE )
1607
+ MINI_OP (OP_S390_VFLPSB , "s390_vflpsb" , XREG , XREG , NONE )
1608
+ MINI_OP (OP_S390_VFLCDB , "s390_vflcdb" , XREG , XREG , NONE )
1609
+ MINI_OP (OP_S390_VFLCSB , "s390_vflcsb" , XREG , XREG , NONE )
1610
+ MINI_OP (OP_S390_VPKH , "s390_vpkh" , XREG , XREG , XREG )
1611
+ MINI_OP (OP_S390_VPKF , "s390_vpkf" , XREG , XREG , XREG )
1612
+ MINI_OP (OP_S390_VPKG , "s390_vpkg" , XREG , XREG , XREG )
1613
+ MINI_OP (OP_S390_VLCB , "s390_vlcb" , XREG , XREG , NONE )
1614
+ MINI_OP (OP_S390_VLCH , "s390_vlch" , XREG , XREG , NONE )
1615
+ MINI_OP (OP_S390_VLCF , "s390_vlcf" , XREG , XREG , NONE )
1616
+ MINI_OP (OP_S390_VLCG , "s390_vlcg" , XREG , XREG , NONE )
1617
+ MINI_OP (OP_S390_VUPHB , "s390_vuphb" , XREG , XREG , NONE )
1618
+ MINI_OP (OP_S390_VUPHH , "s390_vuphh" , XREG , XREG , NONE )
1619
+ MINI_OP (OP_S390_VUPHF , "s390_vuphf" , XREG , XREG , NONE )
1620
+ MINI_OP (OP_S390_VUPLB , "s390_vuplb" , XREG , XREG , NONE )
1621
+ MINI_OP (OP_S390_VUPLHW , "s390_vuplhw" , XREG , XREG , NONE )
1622
+ MINI_OP (OP_S390_VUPLF , "s390_vuplf" , XREG , XREG , NONE )
1623
+ MINI_OP (OP_S390_VUPLHB , "s390_vuplhb" , XREG , XREG , NONE )
1624
+ MINI_OP (OP_S390_VUPLHH , "s390_vuplhh" , XREG , XREG , NONE )
1625
+ MINI_OP (OP_S390_VUPLHF , "s390_vuplhf" , XREG , XREG , NONE )
1626
+ MINI_OP (OP_S390_VUPLLB , "s390_vupllb" , XREG , XREG , NONE )
1627
+ MINI_OP (OP_S390_VUPLLH , "s390_vupllh" , XREG , XREG , NONE )
1628
+ MINI_OP (OP_S390_VUPLLF , "s390_vupllf" , XREG , XREG , NONE )
1629
+ MINI_OP (OP_S390_VFISB , "s390_vfidb" , XREG , XREG , NONE )
1630
+ MINI_OP (OP_S390_VFIDB , "s390_vfisb" , XREG , XREG , NONE )
1631
+ MINI_OP (OP_S390_XCOMPARE_XEXTRACT , "s390_xcompare_xextract" , IREG , XREG , XREG )
1501
1632
#endif
1502
1633
1503
1634
#if defined(TARGET_ARM64 )
@@ -1862,7 +1993,6 @@ MINI_OP(OP_SIMD_LOAD_SCALAR_R8, "simd_load_scalar_r8", XREG, IREG, NONE)
1862
1993
MINI_OP (OP_SIMD_STORE , "simd_store" , NONE , XREG , XREG )
1863
1994
1864
1995
#if defined(TARGET_ARM64 ) || defined(TARGET_AMD64 ) || defined(TARGET_WASM )
1865
- MINI_OP (OP_ONES_COMPLEMENT , "ones_complement" , XREG , XREG , NONE )
1866
1996
MINI_OP (OP_CVT_FP_UI , "convert_fp_to_ui" , XREG , XREG , NONE )
1867
1997
MINI_OP (OP_CVT_FP_SI , "convert_fp_to_si" , XREG , XREG , NONE )
1868
1998
MINI_OP (OP_CVT_FP_UI_SCALAR , "convert_fp_to_ui_scalar" , XREG , XREG , NONE )
@@ -1872,11 +2002,17 @@ MINI_OP(OP_CVT_SI_FP, "convert_si_to_fp", XREG, XREG, NONE)
1872
2002
MINI_OP (OP_CVT_UI_FP_SCALAR , "convert_ui_to_fp_scalar" , XREG , XREG , NONE )
1873
2003
MINI_OP (OP_CVT_SI_FP_SCALAR , "convert_si_to_fp_scalar" , XREG , XREG , NONE )
1874
2004
/* inst_c1 is one of the MONO_TYPE_ constants */
1875
- MINI_OP (OP_NEGATION , "negate" , XREG , XREG , NONE )
1876
2005
MINI_OP (OP_NEGATION_SCALAR , "negate_scalar" , XREG , XREG , NONE )
2006
+ #endif // TARGET_ARM64 || TARGET_AMD64 || TARGET_WASM
2007
+
2008
+ #if defined(TARGET_ARM64 ) || defined(TARGET_AMD64 ) || defined(TARGET_WASM ) || defined(TARGET_S390X )
2009
+ MINI_OP (OP_NEGATION , "negate" , XREG , XREG , NONE )
2010
+ MINI_OP (OP_ONES_COMPLEMENT , "ones_complement" , XREG , XREG , NONE )
1877
2011
/* Select bits from src2/src3 using src1 */
1878
2012
MINI_OP3 (OP_BSL , "bitwise_select" , XREG , XREG , XREG , XREG )
1879
- #endif // TARGET_ARM64 || TARGET_AMD64 || TARGET_WASM
2013
+ MINI_OP (OP_VECTOR_ANDN , "vector_andnot" , XREG , XREG , XREG )
2014
+ MINI_OP (OP_VECTOR_IABS , "vector_integer_abs" , XREG , XREG , NONE )
2015
+ #endif
1880
2016
1881
2017
#if defined(TARGET_RISCV64 ) || defined(TARGET_RISCV32 )
1882
2018
MINI_OP (OP_RISCV_EXC_BEQ , "riscv_exc_beq" , NONE , IREG , IREG )
0 commit comments