@@ -121,7 +121,6 @@ MINI_OP(OP_STORER8_MEMBASE_REG, "storer8_membase_reg", IREG, FREG, NONE)
121121
122122#if defined(TARGET_X86 ) || defined(TARGET_AMD64 )
123123MINI_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 )
125124MINI_OP (OP_STOREX_NTA_MEMBASE_REG , "storex_nta_membase_reg" , IREG , XREG , NONE )
126125#endif
127126
@@ -149,8 +148,9 @@ MINI_OP(OP_LOADR8_MEMBASE,"loadr8_membase", FREG, IREG, NONE)
149148/* klass must be set to a simd class */
150149MINI_OP (OP_LOADX_MEMBASE , "loadx_membase" , XREG , IREG , NONE )
151150
152- #if defined(TARGET_X86 ) || defined(TARGET_AMD64 )
151+ #if defined(TARGET_X86 ) || defined(TARGET_AMD64 ) || defined( TARGET_S390X )
153152MINI_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 )
154154#endif
155155
156156MINI_OP (OP_LOADV_MEMBASE , "loadv_membase" , VREG , IREG , NONE )
@@ -1049,8 +1049,6 @@ MINI_OP(OP_CVTPS2PD, "cvtps2pd", XREG, XREG, NONE)
10491049MINI_OP (OP_CVTTPD2DQ , "cvttpd2dq" , XREG , XREG , NONE )
10501050MINI_OP (OP_CVTTPS2DQ , "cvttps2dq" , XREG , XREG , NONE )
10511051
1052- MINI_OP (OP_VECTOR_IABS , "vector_integer_abs" , XREG , XREG , NONE )
1053- MINI_OP (OP_VECTOR_ANDN , "vector_andnot" , XREG , XREG , XREG )
10541052
10551053/* sse 1 */
10561054/* inst_c1 is target type */
@@ -1498,6 +1496,139 @@ MINI_OP(OP_S390_CIJ, "s390_cij", IREG, NONE, NONE)
14981496MINI_OP (OP_S390_CLIJ , "s390_cij_un" , IREG , IREG , NONE )
14991497MINI_OP (OP_S390_CGIJ , "s390_cgij" , LREG , NONE , NONE )
15001498MINI_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 )
15011632#endif
15021633
15031634#if defined(TARGET_ARM64 )
@@ -1862,7 +1993,6 @@ MINI_OP(OP_SIMD_LOAD_SCALAR_R8, "simd_load_scalar_r8", XREG, IREG, NONE)
18621993MINI_OP (OP_SIMD_STORE , "simd_store" , NONE , XREG , XREG )
18631994
18641995#if defined(TARGET_ARM64 ) || defined(TARGET_AMD64 ) || defined(TARGET_WASM )
1865- MINI_OP (OP_ONES_COMPLEMENT , "ones_complement" , XREG , XREG , NONE )
18661996MINI_OP (OP_CVT_FP_UI , "convert_fp_to_ui" , XREG , XREG , NONE )
18671997MINI_OP (OP_CVT_FP_SI , "convert_fp_to_si" , XREG , XREG , NONE )
18681998MINI_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)
18722002MINI_OP (OP_CVT_UI_FP_SCALAR , "convert_ui_to_fp_scalar" , XREG , XREG , NONE )
18732003MINI_OP (OP_CVT_SI_FP_SCALAR , "convert_si_to_fp_scalar" , XREG , XREG , NONE )
18742004/* inst_c1 is one of the MONO_TYPE_ constants */
1875- MINI_OP (OP_NEGATION , "negate" , XREG , XREG , NONE )
18762005MINI_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 )
18772011/* Select bits from src2/src3 using src1 */
18782012MINI_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
18802016
18812017#if defined(TARGET_RISCV64 ) || defined(TARGET_RISCV32 )
18822018MINI_OP (OP_RISCV_EXC_BEQ , "riscv_exc_beq" , NONE , IREG , IREG )
0 commit comments