1// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --sort --version 5 2// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1200 -mattr=+real-true16 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX12 --implicit-check-not=_e32 %s 3 4v_add_f16 v255.h, v1.h, v2.h 5// GFX12: v_add_f16_e64 v255.h, v1.h, v2.h op_sel:[1,1,1] ; encoding: [0xff,0x58,0x32,0xd5,0x01,0x05,0x02,0x00] 6 7v_add_f16 v255.h, v1.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 8// GFX12: v_add_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x58,0x32,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 9 10v_add_f16 v255.h, v1.h, v2.h quad_perm:[3,2,1,0] 11// GFX12: v_add_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x58,0x32,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 12 13v_add_f16 v255.l, v1.l, v2.l 14// GFX12: v_add_f16_e64 v255.l, v1.l, v2.l ; encoding: [0xff,0x00,0x32,0xd5,0x01,0x05,0x02,0x00] 15 16v_add_f16 v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 17// GFX12: v_add_f16_e64_dpp v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x32,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 18 19v_add_f16 v255.l, v1.l, v2.l quad_perm:[3,2,1,0] 20// GFX12: v_add_f16_e64_dpp v255.l, v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x32,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 21 22v_add_f16 v5.h, v1.h, v255.h 23// GFX12: v_add_f16_e64 v5.h, v1.h, v255.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x32,0xd5,0x01,0xff,0x03,0x00] 24 25v_add_f16 v5.h, v1.h, v255.h dpp8:[7,6,5,4,3,2,1,0] 26// GFX12: v_add_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x32,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 27 28v_add_f16 v5.h, v1.h, v255.h quad_perm:[3,2,1,0] 29// GFX12: v_add_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x32,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 30 31v_add_f16 v5.h, v255.h, v2.h 32// GFX12: v_add_f16_e64 v5.h, v255.h, v2.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x32,0xd5,0xff,0x05,0x02,0x00] 33 34v_add_f16 v5.h, v255.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 35// GFX12: v_add_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x32,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 36 37v_add_f16 v5.h, v255.h, v2.h quad_perm:[3,2,1,0] 38// GFX12: v_add_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x32,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 39 40v_add_f16 v5.l, v1.l, v255.l 41// GFX12: v_add_f16_e64 v5.l, v1.l, v255.l ; encoding: [0x05,0x00,0x32,0xd5,0x01,0xff,0x03,0x00] 42 43v_add_f16 v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] 44// GFX12: v_add_f16_e64_dpp v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x32,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 45 46v_add_f16 v5.l, v1.l, v255.l quad_perm:[3,2,1,0] 47// GFX12: v_add_f16_e64_dpp v5.l, v1.l, v255.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x32,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 48 49v_add_f16 v5.l, v255.l, v2.l 50// GFX12: v_add_f16_e64 v5.l, v255.l, v2.l ; encoding: [0x05,0x00,0x32,0xd5,0xff,0x05,0x02,0x00] 51 52v_add_f16 v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 53// GFX12: v_add_f16_e64_dpp v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x32,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 54 55v_add_f16 v5.l, v255.l, v2.l quad_perm:[3,2,1,0] 56// GFX12: v_add_f16_e64_dpp v5.l, v255.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x32,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 57 58v_fmac_f16 v255, v1, v2 59// GFX12: v_fmac_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x36,0xd5,0x01,0x05,0x02,0x00] 60 61v_fmac_f16 v5, v1, v255 62// GFX12: v_fmac_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x36,0xd5,0x01,0xff,0x03,0x00] 63 64v_fmac_f16 v5, v255, v2 65// GFX12: v_fmac_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x36,0xd5,0xff,0x05,0x02,0x00] 66 67v_ldexp_f16 v255.h, v1.h, v2.h 68// GFX12: v_ldexp_f16_e64 v255.h, v1.h, v2.h op_sel:[1,1,1] ; encoding: [0xff,0x58,0x3b,0xd5,0x01,0x05,0x02,0x00] 69 70v_ldexp_f16 v255.h, v1.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 71// GFX12: v_ldexp_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x58,0x3b,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 72 73v_ldexp_f16 v255.h, v1.h, v2.h quad_perm:[3,2,1,0] 74// GFX12: v_ldexp_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x58,0x3b,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 75 76v_ldexp_f16 v255.l, v1.l, v2.l 77// GFX12: v_ldexp_f16_e64 v255.l, v1.l, v2.l ; encoding: [0xff,0x00,0x3b,0xd5,0x01,0x05,0x02,0x00] 78 79v_ldexp_f16 v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 80// GFX12: v_ldexp_f16_e64_dpp v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x3b,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 81 82v_ldexp_f16 v255.l, v1.l, v2.l quad_perm:[3,2,1,0] 83// GFX12: v_ldexp_f16_e64_dpp v255.l, v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x3b,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 84 85v_ldexp_f16 v5.h, v1.h, v255.h 86// GFX12: v_ldexp_f16_e64 v5.h, v1.h, v255.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x3b,0xd5,0x01,0xff,0x03,0x00] 87 88v_ldexp_f16 v5.h, v1.h, v255.h dpp8:[7,6,5,4,3,2,1,0] 89// GFX12: v_ldexp_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x3b,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 90 91v_ldexp_f16 v5.h, v1.h, v255.h quad_perm:[3,2,1,0] 92// GFX12: v_ldexp_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x3b,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 93 94v_ldexp_f16 v5.h, v255.h, v2.h 95// GFX12: v_ldexp_f16_e64 v5.h, v255.h, v2.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x3b,0xd5,0xff,0x05,0x02,0x00] 96 97v_ldexp_f16 v5.h, v255.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 98// GFX12: v_ldexp_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x3b,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 99 100v_ldexp_f16 v5.h, v255.h, v2.h quad_perm:[3,2,1,0] 101// GFX12: v_ldexp_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x3b,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 102 103v_ldexp_f16 v5.l, v255.l, v2.l 104// GFX12: v_ldexp_f16_e64 v5.l, v255.l, v2.l ; encoding: [0x05,0x00,0x3b,0xd5,0xff,0x05,0x02,0x00] 105 106v_ldexp_f16 v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 107// GFX12: v_ldexp_f16_e64_dpp v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x3b,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 108 109v_ldexp_f16 v5.l, v255.l, v2.l quad_perm:[3,2,1,0] 110// GFX12: v_ldexp_f16_e64_dpp v5.l, v255.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x3b,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 111 112v_max_num_f16 v255, v1, v2 113// GFX12: v_max_num_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x31,0xd5,0x01,0x05,0x02,0x00] 114 115v_max_num_f16 v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0] 116// GFX12: v_max_num_f16_e64_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x31,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 117 118v_max_num_f16 v255, v1, v2 quad_perm:[3,2,1,0] 119// GFX12: v_max_num_f16_e64_dpp v255, v1, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x31,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 120 121v_max_num_f16 v5, v1, v255 122// GFX12: v_max_num_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x31,0xd5,0x01,0xff,0x03,0x00] 123 124v_max_num_f16 v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0] 125// GFX12: v_max_num_f16_e64_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x31,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 126 127v_max_num_f16 v5, v1, v255 quad_perm:[3,2,1,0] 128// GFX12: v_max_num_f16_e64_dpp v5, v1, v255 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x31,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 129 130v_max_num_f16 v5, v255, v2 131// GFX12: v_max_num_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x31,0xd5,0xff,0x05,0x02,0x00] 132 133v_max_num_f16 v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0] 134// GFX12: v_max_num_f16_e64_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x31,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 135 136v_max_num_f16 v5, v255, v2 quad_perm:[3,2,1,0] 137// GFX12: v_max_num_f16_e64_dpp v5, v255, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x31,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 138 139v_min_num_f16 v255, v1, v2 140// GFX12: v_min_num_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x30,0xd5,0x01,0x05,0x02,0x00] 141 142v_min_num_f16 v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0] 143// GFX12: v_min_num_f16_e64_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x30,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 144 145v_min_num_f16 v255, v1, v2 quad_perm:[3,2,1,0] 146// GFX12: v_min_num_f16_e64_dpp v255, v1, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x30,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 147 148v_min_num_f16 v5, v1, v255 149// GFX12: v_min_num_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x30,0xd5,0x01,0xff,0x03,0x00] 150 151v_min_num_f16 v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0] 152// GFX12: v_min_num_f16_e64_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x30,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 153 154v_min_num_f16 v5, v1, v255 quad_perm:[3,2,1,0] 155// GFX12: v_min_num_f16_e64_dpp v5, v1, v255 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x30,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 156 157v_min_num_f16 v5, v255, v2 158// GFX12: v_min_num_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x30,0xd5,0xff,0x05,0x02,0x00] 159 160v_min_num_f16 v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0] 161// GFX12: v_min_num_f16_e64_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x30,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 162 163v_min_num_f16 v5, v255, v2 quad_perm:[3,2,1,0] 164// GFX12: v_min_num_f16_e64_dpp v5, v255, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x30,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 165 166v_mul_f16 v255.h, v1.h, v2.h 167// GFX12: v_mul_f16_e64 v255.h, v1.h, v2.h op_sel:[1,1,1] ; encoding: [0xff,0x58,0x35,0xd5,0x01,0x05,0x02,0x00] 168 169v_mul_f16 v255.h, v1.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 170// GFX12: v_mul_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x58,0x35,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 171 172v_mul_f16 v255.h, v1.h, v2.h quad_perm:[3,2,1,0] 173// GFX12: v_mul_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x58,0x35,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 174 175v_mul_f16 v255.l, v1.l, v2.l 176// GFX12: v_mul_f16_e64 v255.l, v1.l, v2.l ; encoding: [0xff,0x00,0x35,0xd5,0x01,0x05,0x02,0x00] 177 178v_mul_f16 v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 179// GFX12: v_mul_f16_e64_dpp v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x35,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 180 181v_mul_f16 v255.l, v1.l, v2.l quad_perm:[3,2,1,0] 182// GFX12: v_mul_f16_e64_dpp v255.l, v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x35,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 183 184v_mul_f16 v5.h, v1.h, v255.h 185// GFX12: v_mul_f16_e64 v5.h, v1.h, v255.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x35,0xd5,0x01,0xff,0x03,0x00] 186 187v_mul_f16 v5.h, v1.h, v255.h dpp8:[7,6,5,4,3,2,1,0] 188// GFX12: v_mul_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x35,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 189 190v_mul_f16 v5.h, v1.h, v255.h quad_perm:[3,2,1,0] 191// GFX12: v_mul_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x35,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 192 193v_mul_f16 v5.h, v255.h, v2.h 194// GFX12: v_mul_f16_e64 v5.h, v255.h, v2.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x35,0xd5,0xff,0x05,0x02,0x00] 195 196v_mul_f16 v5.h, v255.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 197// GFX12: v_mul_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x35,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 198 199v_mul_f16 v5.h, v255.h, v2.h quad_perm:[3,2,1,0] 200// GFX12: v_mul_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x35,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 201 202v_mul_f16 v5.l, v1.l, v255.l 203// GFX12: v_mul_f16_e64 v5.l, v1.l, v255.l ; encoding: [0x05,0x00,0x35,0xd5,0x01,0xff,0x03,0x00] 204 205v_mul_f16 v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] 206// GFX12: v_mul_f16_e64_dpp v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x35,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 207 208v_mul_f16 v5.l, v1.l, v255.l quad_perm:[3,2,1,0] 209// GFX12: v_mul_f16_e64_dpp v5.l, v1.l, v255.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x35,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 210 211v_mul_f16 v5.l, v255.l, v2.l 212// GFX12: v_mul_f16_e64 v5.l, v255.l, v2.l ; encoding: [0x05,0x00,0x35,0xd5,0xff,0x05,0x02,0x00] 213 214v_mul_f16 v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 215// GFX12: v_mul_f16_e64_dpp v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x35,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 216 217v_mul_f16 v5.l, v255.l, v2.l quad_perm:[3,2,1,0] 218// GFX12: v_mul_f16_e64_dpp v5.l, v255.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x35,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 219 220v_sub_f16 v255.h, v1.h, v2.h 221// GFX12: v_sub_f16_e64 v255.h, v1.h, v2.h op_sel:[1,1,1] ; encoding: [0xff,0x58,0x33,0xd5,0x01,0x05,0x02,0x00] 222 223v_sub_f16 v255.h, v1.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 224// GFX12: v_sub_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x58,0x33,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 225 226v_sub_f16 v255.h, v1.h, v2.h quad_perm:[3,2,1,0] 227// GFX12: v_sub_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x58,0x33,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 228 229v_sub_f16 v255.l, v1.l, v2.l 230// GFX12: v_sub_f16_e64 v255.l, v1.l, v2.l ; encoding: [0xff,0x00,0x33,0xd5,0x01,0x05,0x02,0x00] 231 232v_sub_f16 v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 233// GFX12: v_sub_f16_e64_dpp v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x33,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 234 235v_sub_f16 v255.l, v1.l, v2.l quad_perm:[3,2,1,0] 236// GFX12: v_sub_f16_e64_dpp v255.l, v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x33,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 237 238v_sub_f16 v5.h, v1.h, v255.h 239// GFX12: v_sub_f16_e64 v5.h, v1.h, v255.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x33,0xd5,0x01,0xff,0x03,0x00] 240 241v_sub_f16 v5.h, v1.h, v255.h dpp8:[7,6,5,4,3,2,1,0] 242// GFX12: v_sub_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x33,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 243 244v_sub_f16 v5.h, v1.h, v255.h quad_perm:[3,2,1,0] 245// GFX12: v_sub_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x33,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 246 247v_sub_f16 v5.h, v255.h, v2.h 248// GFX12: v_sub_f16_e64 v5.h, v255.h, v2.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x33,0xd5,0xff,0x05,0x02,0x00] 249 250v_sub_f16 v5.h, v255.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 251// GFX12: v_sub_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x33,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 252 253v_sub_f16 v5.h, v255.h, v2.h quad_perm:[3,2,1,0] 254// GFX12: v_sub_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x33,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 255 256v_sub_f16 v5.l, v1.l, v255.l 257// GFX12: v_sub_f16_e64 v5.l, v1.l, v255.l ; encoding: [0x05,0x00,0x33,0xd5,0x01,0xff,0x03,0x00] 258 259v_sub_f16 v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] 260// GFX12: v_sub_f16_e64_dpp v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x33,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 261 262v_sub_f16 v5.l, v1.l, v255.l quad_perm:[3,2,1,0] 263// GFX12: v_sub_f16_e64_dpp v5.l, v1.l, v255.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x33,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 264 265v_sub_f16 v5.l, v255.l, v2.l 266// GFX12: v_sub_f16_e64 v5.l, v255.l, v2.l ; encoding: [0x05,0x00,0x33,0xd5,0xff,0x05,0x02,0x00] 267 268v_sub_f16 v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 269// GFX12: v_sub_f16_e64_dpp v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x33,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 270 271v_sub_f16 v5.l, v255.l, v2.l quad_perm:[3,2,1,0] 272// GFX12: v_sub_f16_e64_dpp v5.l, v255.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x33,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 273 274v_subrev_f16 v255.h, v1.h, v2.h 275// GFX12: v_subrev_f16_e64 v255.h, v1.h, v2.h op_sel:[1,1,1] ; encoding: [0xff,0x58,0x34,0xd5,0x01,0x05,0x02,0x00] 276 277v_subrev_f16 v255.h, v1.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 278// GFX12: v_subrev_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x58,0x34,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 279 280v_subrev_f16 v255.h, v1.h, v2.h quad_perm:[3,2,1,0] 281// GFX12: v_subrev_f16_e64_dpp v255.h, v1.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x58,0x34,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 282 283v_subrev_f16 v255.l, v1.l, v2.l 284// GFX12: v_subrev_f16_e64 v255.l, v1.l, v2.l ; encoding: [0xff,0x00,0x34,0xd5,0x01,0x05,0x02,0x00] 285 286v_subrev_f16 v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 287// GFX12: v_subrev_f16_e64_dpp v255.l, v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0x34,0xd5,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05] 288 289v_subrev_f16 v255.l, v1.l, v2.l quad_perm:[3,2,1,0] 290// GFX12: v_subrev_f16_e64_dpp v255.l, v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0x34,0xd5,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff] 291 292v_subrev_f16 v5.h, v1.h, v255.h 293// GFX12: v_subrev_f16_e64 v5.h, v1.h, v255.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x34,0xd5,0x01,0xff,0x03,0x00] 294 295v_subrev_f16 v5.h, v1.h, v255.h dpp8:[7,6,5,4,3,2,1,0] 296// GFX12: v_subrev_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x34,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 297 298v_subrev_f16 v5.h, v1.h, v255.h quad_perm:[3,2,1,0] 299// GFX12: v_subrev_f16_e64_dpp v5.h, v1.h, v255.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x34,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 300 301v_subrev_f16 v5.h, v255.h, v2.h 302// GFX12: v_subrev_f16_e64 v5.h, v255.h, v2.h op_sel:[1,1,1] ; encoding: [0x05,0x58,0x34,0xd5,0xff,0x05,0x02,0x00] 303 304v_subrev_f16 v5.h, v255.h, v2.h dpp8:[7,6,5,4,3,2,1,0] 305// GFX12: v_subrev_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x58,0x34,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 306 307v_subrev_f16 v5.h, v255.h, v2.h quad_perm:[3,2,1,0] 308// GFX12: v_subrev_f16_e64_dpp v5.h, v255.h, v2.h op_sel:[1,1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x58,0x34,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 309 310v_subrev_f16 v5.l, v1.l, v255.l 311// GFX12: v_subrev_f16_e64 v5.l, v1.l, v255.l ; encoding: [0x05,0x00,0x34,0xd5,0x01,0xff,0x03,0x00] 312 313v_subrev_f16 v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] 314// GFX12: v_subrev_f16_e64_dpp v5.l, v1.l, v255.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x34,0xd5,0xe9,0xfe,0x03,0x00,0x01,0x77,0x39,0x05] 315 316v_subrev_f16 v5.l, v1.l, v255.l quad_perm:[3,2,1,0] 317// GFX12: v_subrev_f16_e64_dpp v5.l, v1.l, v255.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x34,0xd5,0xfa,0xfe,0x03,0x00,0x01,0x1b,0x00,0xff] 318 319v_subrev_f16 v5.l, v255.l, v2.l 320// GFX12: v_subrev_f16_e64 v5.l, v255.l, v2.l ; encoding: [0x05,0x00,0x34,0xd5,0xff,0x05,0x02,0x00] 321 322v_subrev_f16 v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] 323// GFX12: v_subrev_f16_e64_dpp v5.l, v255.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0x34,0xd5,0xe9,0x04,0x02,0x00,0xff,0x77,0x39,0x05] 324 325v_subrev_f16 v5.l, v255.l, v2.l quad_perm:[3,2,1,0] 326// GFX12: v_subrev_f16_e64_dpp v5.l, v255.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0x34,0xd5,0xfa,0x04,0x02,0x00,0xff,0x1b,0x00,0xff] 327