// <mnemonic> VRT,VRA,VRB,SHB
VSLDOI $4, V2, V1, V0
+// Vector merge odd and even word
+// <MNEMONIC> VRA,VRB,VRT produces
+// <mnemonic> VRT,VRA,VRB
+
+ VMRGOW V4,V5,V6
+ VMRGEW V4,V5,V6
+
// Vector count, VX-form
// <MNEMONIC> VRB,VRT produces
// <mnemonic> VRT,VRB
{AVCMPGT, C_VREG, C_VREG, C_NONE, C_VREG, 82, 4, 0}, /* vector compare greater than, vc-form */
{AVCMPNEZB, C_VREG, C_VREG, C_NONE, C_VREG, 82, 4, 0}, /* vector compare not equal, vx-form */
+ /* Vector merge */
+ {AVMRGOW, C_VREG, C_VREG, C_NONE, C_VREG, 82, 4, 0}, /* vector merge odd word, vx-form */
+
/* Vector permute */
{AVPERM, C_VREG, C_VREG, C_VREG, C_VREG, 83, 4, 0}, /* vector permute, va-form */
opset(AVANDC, r0)
opset(AVNAND, r0)
+ case AVMRGOW: /* vmrgew, vmrgow */
+ opset(AVMRGEW, r0)
+
case AVOR: /* vor, vorc, vxor, vnor, veqv */
opset(AVOR, r0)
opset(AVORC, r0)
case AVRLD:
return OPVX(4, 196, 0, 0) /* vrld - v2.07 */
+ case AVMRGOW:
+ return OPVX(4, 1676, 0, 0) /* vmrgow - v2.07 */
+ case AVMRGEW:
+ return OPVX(4, 1932, 0, 0) /* vmrgew - v2.07 */
+
case AVSLB:
return OPVX(4, 260, 0, 0) /* vslh - v2.03 */
case AVSLH: