13464ebd5Sriastradh/* 23464ebd5Sriastradh * Copyright 2010 Jerome Glisse <glisse@freedesktop.org> 33464ebd5Sriastradh * 43464ebd5Sriastradh * Permission is hereby granted, free of charge, to any person obtaining a 53464ebd5Sriastradh * copy of this software and associated documentation files (the "Software"), 63464ebd5Sriastradh * to deal in the Software without restriction, including without limitation 73464ebd5Sriastradh * on the rights to use, copy, modify, merge, publish, distribute, sub 83464ebd5Sriastradh * license, and/or sell copies of the Software, and to permit persons to whom 93464ebd5Sriastradh * the Software is furnished to do so, subject to the following conditions: 103464ebd5Sriastradh * 113464ebd5Sriastradh * The above copyright notice and this permission notice (including the next 123464ebd5Sriastradh * paragraph) shall be included in all copies or substantial portions of the 133464ebd5Sriastradh * Software. 143464ebd5Sriastradh * 153464ebd5Sriastradh * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 163464ebd5Sriastradh * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 173464ebd5Sriastradh * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 183464ebd5Sriastradh * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 193464ebd5Sriastradh * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 203464ebd5Sriastradh * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 213464ebd5Sriastradh * USE OR OTHER DEALINGS IN THE SOFTWARE. 223464ebd5Sriastradh * 233464ebd5Sriastradh * Authors: 243464ebd5Sriastradh * Jerome Glisse 253464ebd5Sriastradh */ 263464ebd5Sriastradh#ifndef R700_SQ_H 273464ebd5Sriastradh#define R700_SQ_H 283464ebd5Sriastradh 293464ebd5Sriastradh#define P_SQ_CF_WORD0 3001e04c3fSmrg#define S_SQ_CF_WORD0_ADDR(x) (((unsigned)(x) & 0xFFFFFFFF) << 0) 313464ebd5Sriastradh#define G_SQ_CF_WORD0_ADDR(x) (((x) >> 0) & 0xFFFFFFFF) 323464ebd5Sriastradh#define C_SQ_CF_WORD0_ADDR 0x00000000 333464ebd5Sriastradh#define P_SQ_CF_WORD1 3401e04c3fSmrg#define S_SQ_CF_WORD1_POP_COUNT(x) (((unsigned)(x) & 0x7) << 0) 353464ebd5Sriastradh#define G_SQ_CF_WORD1_POP_COUNT(x) (((x) >> 0) & 0x7) 363464ebd5Sriastradh#define C_SQ_CF_WORD1_POP_COUNT 0xFFFFFFF8 3701e04c3fSmrg#define S_SQ_CF_WORD1_CF_CONST(x) (((unsigned)(x) & 0x1F) << 3) 383464ebd5Sriastradh#define G_SQ_CF_WORD1_CF_CONST(x) (((x) >> 3) & 0x1F) 393464ebd5Sriastradh#define C_SQ_CF_WORD1_CF_CONST 0xFFFFFF07 4001e04c3fSmrg#define S_SQ_CF_WORD1_COND(x) (((unsigned)(x) & 0x3) << 8) 413464ebd5Sriastradh#define G_SQ_CF_WORD1_COND(x) (((x) >> 8) & 0x3) 423464ebd5Sriastradh#define C_SQ_CF_WORD1_COND 0xFFFFFCFF 4301e04c3fSmrg#define S_SQ_CF_WORD1_COUNT(x) (((unsigned)(x) & 0x7) << 10) 443464ebd5Sriastradh#define G_SQ_CF_WORD1_COUNT(x) (((x) >> 10) & 0x7) 453464ebd5Sriastradh#define C_SQ_CF_WORD1_COUNT 0xFFFFE3FF 4601e04c3fSmrg#define S_SQ_CF_WORD1_CALL_COUNT(x) (((unsigned)(x) & 0x3F) << 13) 473464ebd5Sriastradh#define G_SQ_CF_WORD1_CALL_COUNT(x) (((x) >> 13) & 0x3F) 483464ebd5Sriastradh#define C_SQ_CF_WORD1_CALL_COUNT 0xFFF81FFF 4901e04c3fSmrg#define S_SQ_CF_WORD1_END_OF_PROGRAM(x) (((unsigned)(x) & 0x1) << 21) 503464ebd5Sriastradh#define G_SQ_CF_WORD1_END_OF_PROGRAM(x) (((x) >> 21) & 0x1) 513464ebd5Sriastradh#define C_SQ_CF_WORD1_END_OF_PROGRAM 0xFFDFFFFF 5201e04c3fSmrg#define S_SQ_CF_WORD1_VALID_PIXEL_MODE(x) (((unsigned)(x) & 0x1) << 22) 533464ebd5Sriastradh#define G_SQ_CF_WORD1_VALID_PIXEL_MODE(x) (((x) >> 22) & 0x1) 543464ebd5Sriastradh#define C_SQ_CF_WORD1_VALID_PIXEL_MODE 0xFFBFFFFF 5501e04c3fSmrg#define S_SQ_CF_WORD1_CF_INST(x) (((unsigned)(x) & 0x7F) << 23) 563464ebd5Sriastradh#define G_SQ_CF_WORD1_CF_INST(x) (((x) >> 23) & 0x7F) 573464ebd5Sriastradh#define C_SQ_CF_WORD1_CF_INST 0xC07FFFFF 5801e04c3fSmrg#define S_SQ_CF_WORD1_WHOLE_QUAD_MODE(x) (((unsigned)(x) & 0x1) << 30) 593464ebd5Sriastradh#define G_SQ_CF_WORD1_WHOLE_QUAD_MODE(x) (((x) >> 30) & 0x1) 603464ebd5Sriastradh#define C_SQ_CF_WORD1_WHOLE_QUAD_MODE 0xBFFFFFFF 6101e04c3fSmrg#define S_SQ_CF_WORD1_BARRIER(x) (((unsigned)(x) & 0x1) << 31) 623464ebd5Sriastradh#define G_SQ_CF_WORD1_BARRIER(x) (((x) >> 31) & 0x1) 633464ebd5Sriastradh#define C_SQ_CF_WORD1_BARRIER 0x7FFFFFFF 6401e04c3fSmrg#define S_SQ_CF_WORD1_COUNT_3(x) (((unsigned)(x) & 0x1) << 19) 653464ebd5Sriastradh#define G_SQ_CF_WORD1_COUNT_3(x) (((x) >> 19) & 0x1) 663464ebd5Sriastradh#define C_SQ_CF_WORD1_COUNT_3 0xFFF7FFFF 673464ebd5Sriastradh#define P_SQ_CF_ALU_WORD0 6801e04c3fSmrg#define S_SQ_CF_ALU_WORD0_ADDR(x) (((unsigned)(x) & 0x3FFFFF) << 0) 693464ebd5Sriastradh#define G_SQ_CF_ALU_WORD0_ADDR(x) (((x) >> 0) & 0x3FFFFF) 703464ebd5Sriastradh#define C_SQ_CF_ALU_WORD0_ADDR 0xFFC00000 7101e04c3fSmrg#define S_SQ_CF_ALU_WORD0_KCACHE_BANK0(x) (((unsigned)(x) & 0xF) << 22) 723464ebd5Sriastradh#define G_SQ_CF_ALU_WORD0_KCACHE_BANK0(x) (((x) >> 22) & 0xF) 733464ebd5Sriastradh#define C_SQ_CF_ALU_WORD0_KCACHE_BANK0 0xFC3FFFFF 7401e04c3fSmrg#define S_SQ_CF_ALU_WORD0_KCACHE_BANK1(x) (((unsigned)(x) & 0xF) << 26) 753464ebd5Sriastradh#define G_SQ_CF_ALU_WORD0_KCACHE_BANK1(x) (((x) >> 26) & 0xF) 763464ebd5Sriastradh#define C_SQ_CF_ALU_WORD0_KCACHE_BANK1 0xC3FFFFFF 7701e04c3fSmrg#define S_SQ_CF_ALU_WORD0_KCACHE_MODE0(x) (((unsigned)(x) & 0x3) << 30) 783464ebd5Sriastradh#define G_SQ_CF_ALU_WORD0_KCACHE_MODE0(x) (((x) >> 30) & 0x3) 793464ebd5Sriastradh#define C_SQ_CF_ALU_WORD0_KCACHE_MODE0 0x3FFFFFFF 803464ebd5Sriastradh#define P_SQ_CF_ALU_WORD1 8101e04c3fSmrg#define S_SQ_CF_ALU_WORD1_KCACHE_MODE1(x) (((unsigned)(x) & 0x3) << 0) 823464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_KCACHE_MODE1(x) (((x) >> 0) & 0x3) 833464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_KCACHE_MODE1 0xFFFFFFFC 8401e04c3fSmrg#define S_SQ_CF_ALU_WORD1_KCACHE_ADDR0(x) (((unsigned)(x) & 0xFF) << 2) 853464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_KCACHE_ADDR0(x) (((x) >> 2) & 0xFF) 863464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_KCACHE_ADDR0 0xFFFFFC03 8701e04c3fSmrg#define S_SQ_CF_ALU_WORD1_KCACHE_ADDR1(x) (((unsigned)(x) & 0xFF) << 10) 883464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_KCACHE_ADDR1(x) (((x) >> 10) & 0xFF) 893464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_KCACHE_ADDR1 0xFFFC03FF 9001e04c3fSmrg#define S_SQ_CF_ALU_WORD1_COUNT(x) (((unsigned)(x) & 0x7F) << 18) 913464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_COUNT(x) (((x) >> 18) & 0x7F) 923464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_COUNT 0xFE03FFFF 9301e04c3fSmrg#define S_SQ_CF_ALU_WORD1_USES_WATERFALL(x) (((unsigned)(x) & 0x1) << 25) 943464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_USES_WATERFALL(x) (((x) >> 25) & 0x1) 953464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_USES_WATERFALL 0xFDFFFFFF 9601e04c3fSmrg#define S_SQ_CF_ALU_WORD1_CF_INST(x) (((unsigned)(x) & 0xF) << 26) 973464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_CF_INST(x) (((x) >> 26) & 0xF) 983464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_CF_INST 0xC3FFFFFF 9901e04c3fSmrg#define S_SQ_CF_ALU_WORD1_WHOLE_QUAD_MODE(x) (((unsigned)(x) & 0x1) << 30) 1003464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_WHOLE_QUAD_MODE(x) (((x) >> 30) & 0x1) 1013464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_WHOLE_QUAD_MODE 0xBFFFFFFF 10201e04c3fSmrg#define S_SQ_CF_ALU_WORD1_BARRIER(x) (((unsigned)(x) & 0x1) << 31) 1033464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_BARRIER(x) (((x) >> 31) & 0x1) 1043464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_BARRIER 0x7FFFFFFF 10501e04c3fSmrg#define S_SQ_CF_ALU_WORD1_ALT_CONST(x) (((unsigned)(x) & 0x1) << 25) 1063464ebd5Sriastradh#define G_SQ_CF_ALU_WORD1_ALT_CONST(x) (((x) >> 25) & 0x1) 1073464ebd5Sriastradh#define C_SQ_CF_ALU_WORD1_ALT_CONST 0xFDFFFFFF 1083464ebd5Sriastradh#define P_SQ_CF_ALLOC_EXPORT_WORD0 10901e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(x) (((unsigned)(x) & 0x1FFF) << 0) 1103464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(x) (((x) >> 0) & 0x1FFF) 1113464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE 0xFFFFE000 11201e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(x) (((unsigned)(x) & 0x3) << 13) 1133464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(x) (((x) >> 13) & 0x3) 1143464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_TYPE 0xFFFF9FFF 1153464ebd5Sriastradh#define V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PIXEL 0x00000000 1163464ebd5Sriastradh#define V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_POS 0x00000001 1173464ebd5Sriastradh#define V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PARAM 0x00000002 1183464ebd5Sriastradh#define V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_SX 0x00000003 11901e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(x) (((unsigned)(x) & 0x7F) << 15) 1203464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(x) (((x) >> 15) & 0x7F) 1213464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR 0xFFC07FFF 12201e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_RW_REL(x) (((unsigned)(x) & 0x1) << 22) 1233464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_RW_REL(x) (((x) >> 22) & 0x1) 1243464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_RW_REL 0xFFBFFFFF 12501e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR(x) (((unsigned)(x) & 0x7F) << 23) 1263464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR(x) (((x) >> 23) & 0x7F) 1273464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR 0xC07FFFFF 12801e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(x) (((unsigned)(x) & 0x3) << 30) 1293464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(x) (((x) >> 30) & 0x3) 1303464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE 0x3FFFFFFF 1313464ebd5Sriastradh#define P_SQ_CF_ALLOC_EXPORT_WORD1 13201e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(x) (((unsigned)(x) & 0xF) << 17) 1333464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(x) (((x) >> 17) & 0xF) 1343464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT 0xFFE1FFFF 13501e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(x) (((unsigned)(x) & 0x1) << 21) 1363464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(x) (((x) >> 21) & 0x1) 1373464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM 0xFFDFFFFF 13801e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_VALID_PIXEL_MODE(x) (((unsigned)(x) & 0x1) << 22) 1393464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_VALID_PIXEL_MODE(x) (((x) >> 22) & 0x1) 1403464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_VALID_PIXEL_MODE 0xFFBFFFFF 14101e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((unsigned)(x) & 0x7F) << 23) 1423464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) >> 23) & 0x7F) 1433464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST 0xC07FFFFF 14401e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_WHOLE_QUAD_MODE(x) (((unsigned)(x) & 0x1) << 30) 1453464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_WHOLE_QUAD_MODE(x) (((x) >> 30) & 0x1) 1463464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_WHOLE_QUAD_MODE 0xBFFFFFFF 14701e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(x) (((unsigned)(x) & 0x1) << 31) 1483464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(x) (((x) >> 31) & 0x1) 1493464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER 0x7FFFFFFF 1503464ebd5Sriastradh#define P_SQ_CF_ALLOC_EXPORT_WORD1_BUF 15101e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_ARRAY_SIZE(x) (((unsigned)(x) & 0xFFF) << 0) 1523464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_BUF_ARRAY_SIZE(x) (((x) >> 0) & 0xFFF) 1533464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_BUF_ARRAY_SIZE 0xFFFFF000 15401e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_COMP_MASK(x) (((unsigned)(x) & 0xF) << 12) 1553464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_BUF_COMP_MASK(x) (((x) >> 12) & 0xF) 1563464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_BUF_COMP_MASK 0xFFFF0FFF 1573464ebd5Sriastradh#define P_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ 15801e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(x) (((unsigned)(x) & 0x7) << 0) 1593464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(x) (((x) >> 0) & 0x7) 1603464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X 0xFFFFFFF8 16101e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(x) (((unsigned)(x) & 0x7) << 3) 1623464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(x) (((x) >> 3) & 0x7) 1633464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y 0xFFFFFFC7 16401e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(x) (((unsigned)(x) & 0x7) << 6) 1653464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(x) (((x) >> 6) & 0x7) 1663464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z 0xFFFFFE3F 16701e04c3fSmrg#define S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(x) (((unsigned)(x) & 0x7) << 9) 1683464ebd5Sriastradh#define G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(x) (((x) >> 9) & 0x7) 1693464ebd5Sriastradh#define C_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W 0xFFFFF1FF 1703464ebd5Sriastradh#define P_SQ_ALU_WORD0 17101e04c3fSmrg#define S_SQ_ALU_WORD0_SRC0_SEL(x) (((unsigned)(x) & 0x1FF) << 0) 1723464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC0_SEL(x) (((x) >> 0) & 0x1FF) 1733464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC0_SEL 0xFFFFFE00 17401e04c3fSmrg#define S_SQ_ALU_WORD0_SRC0_REL(x) (((unsigned)(x) & 0x1) << 9) 1753464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC0_REL(x) (((x) >> 9) & 0x1) 1763464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC0_REL 0xFFFFFDFF 17701e04c3fSmrg#define S_SQ_ALU_WORD0_SRC0_CHAN(x) (((unsigned)(x) & 0x3) << 10) 1783464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC0_CHAN(x) (((x) >> 10) & 0x3) 1793464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC0_CHAN 0xFFFFF3FF 18001e04c3fSmrg#define S_SQ_ALU_WORD0_SRC0_NEG(x) (((unsigned)(x) & 0x1) << 12) 1813464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC0_NEG(x) (((x) >> 12) & 0x1) 1823464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC0_NEG 0xFFFFEFFF 18301e04c3fSmrg#define S_SQ_ALU_WORD0_SRC1_SEL(x) (((unsigned)(x) & 0x1FF) << 13) 1843464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC1_SEL(x) (((x) >> 13) & 0x1FF) 1853464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC1_SEL 0xFFC01FFF 18601e04c3fSmrg#define S_SQ_ALU_WORD0_SRC1_REL(x) (((unsigned)(x) & 0x1) << 22) 1873464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC1_REL(x) (((x) >> 22) & 0x1) 1883464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC1_REL 0xFFBFFFFF 18901e04c3fSmrg#define S_SQ_ALU_WORD0_SRC1_CHAN(x) (((unsigned)(x) & 0x3) << 23) 1903464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC1_CHAN(x) (((x) >> 23) & 0x3) 1913464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC1_CHAN 0xFE7FFFFF 19201e04c3fSmrg#define S_SQ_ALU_WORD0_SRC1_NEG(x) (((unsigned)(x) & 0x1) << 25) 1933464ebd5Sriastradh#define G_SQ_ALU_WORD0_SRC1_NEG(x) (((x) >> 25) & 0x1) 1943464ebd5Sriastradh#define C_SQ_ALU_WORD0_SRC1_NEG 0xFDFFFFFF 19501e04c3fSmrg#define S_SQ_ALU_WORD0_INDEX_MODE(x) (((unsigned)(x) & 0x7) << 26) 1963464ebd5Sriastradh#define G_SQ_ALU_WORD0_INDEX_MODE(x) (((x) >> 26) & 0x7) 1973464ebd5Sriastradh#define C_SQ_ALU_WORD0_INDEX_MODE 0xE3FFFFFF 19801e04c3fSmrg#define S_SQ_ALU_WORD0_PRED_SEL(x) (((unsigned)(x) & 0x3) << 29) 1993464ebd5Sriastradh#define G_SQ_ALU_WORD0_PRED_SEL(x) (((x) >> 29) & 0x3) 2003464ebd5Sriastradh#define C_SQ_ALU_WORD0_PRED_SEL 0x9FFFFFFF 20101e04c3fSmrg#define S_SQ_ALU_WORD0_LAST(x) (((unsigned)(x) & 0x1) << 31) 2023464ebd5Sriastradh#define G_SQ_ALU_WORD0_LAST(x) (((x) >> 31) & 0x1) 2033464ebd5Sriastradh#define C_SQ_ALU_WORD0_LAST 0x7FFFFFFF 2043464ebd5Sriastradh#define P_SQ_ALU_WORD1 20501e04c3fSmrg#define S_SQ_ALU_WORD1_ENCODING(x) (((unsigned)(x) & 0x7) << 15) 2063464ebd5Sriastradh#define G_SQ_ALU_WORD1_ENCODING(x) (((x) >> 15) & 0x7) 2073464ebd5Sriastradh#define C_SQ_ALU_WORD1_ENCODING 0xFFFC7FFF 20801e04c3fSmrg#define S_SQ_ALU_WORD1_BANK_SWIZZLE(x) (((unsigned)(x) & 0x7) << 18) 2093464ebd5Sriastradh#define G_SQ_ALU_WORD1_BANK_SWIZZLE(x) (((x) >> 18) & 0x7) 2103464ebd5Sriastradh#define C_SQ_ALU_WORD1_BANK_SWIZZLE 0xFFE3FFFF 21101e04c3fSmrg#define S_SQ_ALU_WORD1_DST_GPR(x) (((unsigned)(x) & 0x7F) << 21) 2123464ebd5Sriastradh#define G_SQ_ALU_WORD1_DST_GPR(x) (((x) >> 21) & 0x7F) 2133464ebd5Sriastradh#define C_SQ_ALU_WORD1_DST_GPR 0xF01FFFFF 21401e04c3fSmrg#define S_SQ_ALU_WORD1_DST_REL(x) (((unsigned)(x) & 0x1) << 28) 2153464ebd5Sriastradh#define G_SQ_ALU_WORD1_DST_REL(x) (((x) >> 28) & 0x1) 2163464ebd5Sriastradh#define C_SQ_ALU_WORD1_DST_REL 0xEFFFFFFF 21701e04c3fSmrg#define S_SQ_ALU_WORD1_DST_CHAN(x) (((unsigned)(x) & 0x3) << 29) 2183464ebd5Sriastradh#define G_SQ_ALU_WORD1_DST_CHAN(x) (((x) >> 29) & 0x3) 2193464ebd5Sriastradh#define C_SQ_ALU_WORD1_DST_CHAN 0x9FFFFFFF 22001e04c3fSmrg#define S_SQ_ALU_WORD1_CLAMP(x) (((unsigned)(x) & 0x1) << 31) 2213464ebd5Sriastradh#define G_SQ_ALU_WORD1_CLAMP(x) (((x) >> 31) & 0x1) 2223464ebd5Sriastradh#define C_SQ_ALU_WORD1_CLAMP 0x7FFFFFFF 2233464ebd5Sriastradh#define P_SQ_ALU_WORD1_OP2 22401e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_SRC0_ABS(x) (((unsigned)(x) & 0x1) << 0) 2253464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_SRC0_ABS(x) (((x) >> 0) & 0x1) 2263464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_SRC0_ABS 0xFFFFFFFE 22701e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_SRC1_ABS(x) (((unsigned)(x) & 0x1) << 1) 2283464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_SRC1_ABS(x) (((x) >> 1) & 0x1) 2293464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_SRC1_ABS 0xFFFFFFFD 23001e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_UPDATE_EXECUTE_MASK(x) (((unsigned)(x) & 0x1) << 2) 2313464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_UPDATE_EXECUTE_MASK(x) (((x) >> 2) & 0x1) 2323464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_UPDATE_EXECUTE_MASK 0xFFFFFFFB 23301e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_UPDATE_PRED(x) (((unsigned)(x) & 0x1) << 3) 2343464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_UPDATE_PRED(x) (((x) >> 3) & 0x1) 2353464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_UPDATE_PRED 0xFFFFFFF7 23601e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_WRITE_MASK(x) (((unsigned)(x) & 0x1) << 4) 2373464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_WRITE_MASK(x) (((x) >> 4) & 0x1) 2383464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_WRITE_MASK 0xFFFFFFEF 23901e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_OMOD(x) (((unsigned)(x) & 0x3) << 5) 2403464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_OMOD(x) (((x) >> 5) & 0x3) 2413464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_OMOD 0xFFFFFF9F 24201e04c3fSmrg#define S_SQ_ALU_WORD1_OP2_ALU_INST(x) (((unsigned)(x) & 0x7FF) << 7) 2433464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP2_ALU_INST(x) (((x) >> 7) & 0x7FF) 2443464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP2_ALU_INST 0xFFFC007F 2453464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x00000000 2463464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x00000001 2473464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_IEEE 0x00000002 2483464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX 0x00000003 2493464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN 0x00000004 2503464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_DX10 0x00000005 2513464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_DX10 0x00000006 2523464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE 0x00000008 2533464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT 0x00000009 2543464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE 0x0000000A 2553464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE 0x0000000B 2563464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_DX10 0x0000000C 2573464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_DX10 0x0000000D 2583464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_DX10 0x0000000E 2593464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_DX10 0x0000000F 2603464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT 0x00000010 2613464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC 0x00000011 2623464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CEIL 0x00000012 2633464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RNDNE 0x00000013 2643464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR 0x00000014 2653464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA 0x00000015 2663464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR 0x00000016 2673464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT 0x00000018 2683464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV 0x00000019 2693464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP 0x0000001A 2703464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT 0x0000001E 2713464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT 0x0000001F 2723464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE 0x00000020 2733464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT 0x00000021 2743464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE 0x00000022 2753464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE 0x00000023 2763464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV 0x00000024 2773464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP 0x00000025 2783464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR 0x00000026 2793464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE 0x00000027 2803464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH 0x00000028 2813464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH 0x00000029 2823464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH 0x0000002A 2833464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH 0x0000002B 2843464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE 0x0000002C 2853464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT 0x0000002D 2863464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE 0x0000002E 2873464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE 0x0000002F 2883464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_AND_INT 0x00000030 2893464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_OR_INT 0x00000031 2903464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_XOR_INT 0x00000032 2913464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOT_INT 0x00000033 2923464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_INT 0x00000034 2933464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUB_INT 0x00000035 2943464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_INT 0x00000036 2953464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_INT 0x00000037 2963464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_UINT 0x00000038 2973464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_UINT 0x00000039 2983464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_INT 0x0000003A 2993464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_INT 0x0000003B 3003464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_INT 0x0000003C 3013464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_INT 0x0000003D 3023464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_UINT 0x0000003E 3033464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_UINT 0x0000003F 3043464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT 0x00000040 3053464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT 0x00000041 3063464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT 0x00000042 3073464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT 0x00000043 3083464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT 0x00000044 3093464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT 0x00000045 3103464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT 0x00000046 3113464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT 0x00000047 3123464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT 0x00000048 3133464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT 0x00000049 3143464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT 0x0000004A 3153464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT 0x0000004B 3163464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT 0x0000004C 3173464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT 0x0000004D 3183464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT 0x0000004E 3193464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT 0x0000004F 3203464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 0x00000050 3213464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE 0x00000051 3223464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE 0x00000052 3233464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4 0x00000053 3243464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_GPR_INT 0x00000060 3253464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE 0x00000061 3263464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED 0x00000062 3273464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE 0x00000063 3283464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED 0x00000064 3293464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF 0x00000065 3303464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE 0x00000066 3313464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED 0x00000067 3323464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF 0x00000068 3333464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE 0x00000069 3343464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE 0x0000006A 3353464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT 0x0000006B 3363464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT 0x0000006C 3373464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT 0x0000006D 3383464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN 0x0000006E 3393464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS 0x0000006F 3403464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT 0x00000070 3413464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT 0x00000071 3423464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT 0x00000072 3433464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT 0x00000073 3443464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT 0x00000074 3453464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT 0x00000075 3463464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT 0x00000076 3473464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT 0x00000077 3483464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT 0x00000078 3493464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_UINT 0x00000079 3503464ebd5Sriastradh#define P_SQ_ALU_WORD1_OP3 35101e04c3fSmrg#define S_SQ_ALU_WORD1_OP3_SRC2_SEL(x) (((unsigned)(x) & 0x1FF) << 0) 3523464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP3_SRC2_SEL(x) (((x) >> 0) & 0x1FF) 3533464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP3_SRC2_SEL 0xFFFFFE00 35401e04c3fSmrg#define S_SQ_ALU_WORD1_OP3_SRC2_REL(x) (((unsigned)(x) & 0x1) << 9) 3553464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP3_SRC2_REL(x) (((x) >> 9) & 0x1) 3563464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP3_SRC2_REL 0xFFFFFDFF 35701e04c3fSmrg#define S_SQ_ALU_WORD1_OP3_SRC2_CHAN(x) (((unsigned)(x) & 0x3) << 10) 3583464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP3_SRC2_CHAN(x) (((x) >> 10) & 0x3) 3593464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP3_SRC2_CHAN 0xFFFFF3FF 36001e04c3fSmrg#define S_SQ_ALU_WORD1_OP3_SRC2_NEG(x) (((unsigned)(x) & 0x1) << 12) 3613464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP3_SRC2_NEG(x) (((x) >> 12) & 0x1) 3623464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP3_SRC2_NEG 0xFFFFEFFF 36301e04c3fSmrg#define S_SQ_ALU_WORD1_OP3_ALU_INST(x) (((unsigned)(x) & 0x1F) << 13) 3643464ebd5Sriastradh#define G_SQ_ALU_WORD1_OP3_ALU_INST(x) (((x) >> 13) & 0x1F) 3653464ebd5Sriastradh#define C_SQ_ALU_WORD1_OP3_ALU_INST 0xFFFC1FFF 3663464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT 0x0000000C 3673464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M2 0x0000000D 3683464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M4 0x0000000E 3693464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_D2 0x0000000F 3703464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD 0x00000010 3713464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M2 0x00000011 3723464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M4 0x00000012 3733464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_D2 0x00000013 3743464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE 0x00000014 3753464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_M2 0x00000015 3763464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_M4 0x00000016 3773464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_D2 0x00000017 3783464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE 0x00000018 3793464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT 0x00000019 3803464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE 0x0000001A 3813464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE_INT 0x0000001C 3823464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT_INT 0x0000001D 3833464ebd5Sriastradh#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE_INT 0x0000001E 3843464ebd5Sriastradh#define P_SQ_VTX_WORD0 38501e04c3fSmrg#define S_SQ_VTX_WORD0_VTX_INST(x) (((unsigned)(x) & 0x1F) << 0) 3863464ebd5Sriastradh#define G_SQ_VTX_WORD0_VTX_INST(x) (((x) >> 0) & 0x1F) 3873464ebd5Sriastradh#define C_SQ_VTX_WORD0_VTX_INST 0xFFFFFFE0 38801e04c3fSmrg#define S_SQ_VTX_WORD0_FETCH_TYPE(x) (((unsigned)(x) & 0x3) << 5) 3893464ebd5Sriastradh#define G_SQ_VTX_WORD0_FETCH_TYPE(x) (((x) >> 5) & 0x3) 3903464ebd5Sriastradh#define C_SQ_VTX_WORD0_FETCH_TYPE 0xFFFFFF9F 39101e04c3fSmrg#define S_SQ_VTX_WORD0_FETCH_WHOLE_QUAD(x) (((unsigned)(x) & 0x1) << 7) 3923464ebd5Sriastradh#define G_SQ_VTX_WORD0_FETCH_WHOLE_QUAD(x) (((x) >> 7) & 0x1) 3933464ebd5Sriastradh#define C_SQ_VTX_WORD0_FETCH_WHOLE_QUAD 0xFFFFFF7F 39401e04c3fSmrg#define S_SQ_VTX_WORD0_BUFFER_ID(x) (((unsigned)(x) & 0xFF) << 8) 3953464ebd5Sriastradh#define G_SQ_VTX_WORD0_BUFFER_ID(x) (((x) >> 8) & 0xFF) 3963464ebd5Sriastradh#define C_SQ_VTX_WORD0_BUFFER_ID 0xFFFF00FF 39701e04c3fSmrg#define S_SQ_VTX_WORD0_SRC_GPR(x) (((unsigned)(x) & 0x7F) << 16) 3983464ebd5Sriastradh#define G_SQ_VTX_WORD0_SRC_GPR(x) (((x) >> 16) & 0x7F) 3993464ebd5Sriastradh#define C_SQ_VTX_WORD0_SRC_GPR 0xFF80FFFF 40001e04c3fSmrg#define S_SQ_VTX_WORD0_SRC_REL(x) (((unsigned)(x) & 0x1) << 23) 4013464ebd5Sriastradh#define G_SQ_VTX_WORD0_SRC_REL(x) (((x) >> 23) & 0x1) 4023464ebd5Sriastradh#define C_SQ_VTX_WORD0_SRC_REL 0xFF7FFFFF 40301e04c3fSmrg#define S_SQ_VTX_WORD0_SRC_SEL_X(x) (((unsigned)(x) & 0x3) << 24) 4043464ebd5Sriastradh#define G_SQ_VTX_WORD0_SRC_SEL_X(x) (((x) >> 24) & 0x3) 4053464ebd5Sriastradh#define C_SQ_VTX_WORD0_SRC_SEL_X 0xFCFFFFFF 40601e04c3fSmrg#define S_SQ_VTX_WORD0_MEGA_FETCH_COUNT(x) (((unsigned)(x) & 0x3F) << 26) 4073464ebd5Sriastradh#define G_SQ_VTX_WORD0_MEGA_FETCH_COUNT(x) (((x) >> 26) & 0x3F) 4083464ebd5Sriastradh#define C_SQ_VTX_WORD0_MEGA_FETCH_COUNT 0x03FFFFFF 4093464ebd5Sriastradh#define P_SQ_VTX_WORD1 41001e04c3fSmrg#define S_SQ_VTX_WORD1_DST_SEL_X(x) (((unsigned)(x) & 0x7) << 9) 4113464ebd5Sriastradh#define G_SQ_VTX_WORD1_DST_SEL_X(x) (((x) >> 9) & 0x7) 4123464ebd5Sriastradh#define C_SQ_VTX_WORD1_DST_SEL_X 0xFFFFF1FF 41301e04c3fSmrg#define S_SQ_VTX_WORD1_DST_SEL_Y(x) (((unsigned)(x) & 0x7) << 12) 4143464ebd5Sriastradh#define G_SQ_VTX_WORD1_DST_SEL_Y(x) (((x) >> 12) & 0x7) 4153464ebd5Sriastradh#define C_SQ_VTX_WORD1_DST_SEL_Y 0xFFFF8FFF 41601e04c3fSmrg#define S_SQ_VTX_WORD1_DST_SEL_Z(x) (((unsigned)(x) & 0x7) << 15) 4173464ebd5Sriastradh#define G_SQ_VTX_WORD1_DST_SEL_Z(x) (((x) >> 15) & 0x7) 4183464ebd5Sriastradh#define C_SQ_VTX_WORD1_DST_SEL_Z 0xFFFC7FFF 41901e04c3fSmrg#define S_SQ_VTX_WORD1_DST_SEL_W(x) (((unsigned)(x) & 0x7) << 18) 4203464ebd5Sriastradh#define G_SQ_VTX_WORD1_DST_SEL_W(x) (((x) >> 18) & 0x7) 4213464ebd5Sriastradh#define C_SQ_VTX_WORD1_DST_SEL_W 0xFFE3FFFF 42201e04c3fSmrg#define S_SQ_VTX_WORD1_USE_CONST_FIELDS(x) (((unsigned)(x) & 0x1) << 21) 4233464ebd5Sriastradh#define G_SQ_VTX_WORD1_USE_CONST_FIELDS(x) (((x) >> 21) & 0x1) 4243464ebd5Sriastradh#define C_SQ_VTX_WORD1_USE_CONST_FIELDS 0xFFDFFFFF 42501e04c3fSmrg#define S_SQ_VTX_WORD1_DATA_FORMAT(x) (((unsigned)(x) & 0x3F) << 22) 4263464ebd5Sriastradh#define G_SQ_VTX_WORD1_DATA_FORMAT(x) (((x) >> 22) & 0x3F) 4273464ebd5Sriastradh#define C_SQ_VTX_WORD1_DATA_FORMAT 0xF03FFFFF 42801e04c3fSmrg#define S_SQ_VTX_WORD1_NUM_FORMAT_ALL(x) (((unsigned)(x) & 0x3) << 28) 4293464ebd5Sriastradh#define G_SQ_VTX_WORD1_NUM_FORMAT_ALL(x) (((x) >> 28) & 0x3) 4303464ebd5Sriastradh#define C_SQ_VTX_WORD1_NUM_FORMAT_ALL 0xCFFFFFFF 43101e04c3fSmrg#define S_SQ_VTX_WORD1_FORMAT_COMP_ALL(x) (((unsigned)(x) & 0x1) << 30) 4323464ebd5Sriastradh#define G_SQ_VTX_WORD1_FORMAT_COMP_ALL(x) (((x) >> 30) & 0x1) 4333464ebd5Sriastradh#define C_SQ_VTX_WORD1_FORMAT_COMP_ALL 0xBFFFFFFF 43401e04c3fSmrg#define S_SQ_VTX_WORD1_SRF_MODE_ALL(x) (((unsigned)(x) & 0x1) << 31) 4353464ebd5Sriastradh#define G_SQ_VTX_WORD1_SRF_MODE_ALL(x) (((x) >> 31) & 0x1) 4363464ebd5Sriastradh#define C_SQ_VTX_WORD1_SRF_MODE_ALL 0x7FFFFFFF 4373464ebd5Sriastradh#define P_SQ_VTX_WORD1_GPR 43801e04c3fSmrg#define S_SQ_VTX_WORD1_GPR_DST_GPR(x) (((unsigned)(x) & 0x7F) << 0) 4393464ebd5Sriastradh#define G_SQ_VTX_WORD1_GPR_DST_GPR(x) (((x) >> 0) & 0x7F) 4403464ebd5Sriastradh#define C_SQ_VTX_WORD1_GPR_DST_GPR 0xFFFFFF80 44101e04c3fSmrg#define S_SQ_VTX_WORD1_GPR_DST_REL(x) (((unsigned)(x) & 0x1) << 7) 4423464ebd5Sriastradh#define G_SQ_VTX_WORD1_GPR_DST_REL(x) (((x) >> 7) & 0x1) 4433464ebd5Sriastradh#define C_SQ_VTX_WORD1_GPR_DST_REL 0xFFFFFF7F 4443464ebd5Sriastradh#define P_SQ_VTX_WORD1_SEM 44501e04c3fSmrg#define S_SQ_VTX_WORD1_SEM_SEMANTIC_ID(x) (((unsigned)(x) & 0xFF) << 0) 4463464ebd5Sriastradh#define G_SQ_VTX_WORD1_SEM_SEMANTIC_ID(x) (((x) >> 0) & 0xFF) 4473464ebd5Sriastradh#define C_SQ_VTX_WORD1_SEM_SEMANTIC_ID 0xFFFFFF00 4483464ebd5Sriastradh#define P_SQ_VTX_WORD2 44901e04c3fSmrg#define S_SQ_VTX_WORD2_OFFSET(x) (((unsigned)(x) & 0xFFFF) << 0) 4503464ebd5Sriastradh#define G_SQ_VTX_WORD2_OFFSET(x) (((x) >> 0) & 0xFFFF) 4513464ebd5Sriastradh#define C_SQ_VTX_WORD2_OFFSET 0xFFFF0000 45201e04c3fSmrg#define S_SQ_VTX_WORD2_ENDIAN_SWAP(x) (((unsigned)(x) & 0x3) << 16) 4533464ebd5Sriastradh#define G_SQ_VTX_WORD2_ENDIAN_SWAP(x) (((x) >> 16) & 0x3) 4543464ebd5Sriastradh#define C_SQ_VTX_WORD2_ENDIAN_SWAP 0xFFFCFFFF 45501e04c3fSmrg#define S_SQ_VTX_WORD2_CONST_BUF_NO_STRIDE(x) (((unsigned)(x) & 0x1) << 18) 4563464ebd5Sriastradh#define G_SQ_VTX_WORD2_CONST_BUF_NO_STRIDE(x) (((x) >> 18) & 0x1) 4573464ebd5Sriastradh#define C_SQ_VTX_WORD2_CONST_BUF_NO_STRIDE 0xFFFBFFFF 45801e04c3fSmrg#define S_SQ_VTX_WORD2_MEGA_FETCH(x) (((unsigned)(x) & 0x1) << 19) 4593464ebd5Sriastradh#define G_SQ_VTX_WORD2_MEGA_FETCH(x) (((x) >> 19) & 0x1) 4603464ebd5Sriastradh#define C_SQ_VTX_WORD2_MEGA_FETCH 0xFFF7FFFF 46101e04c3fSmrg#define S_SQ_VTX_WORD2_ALT_CONST(x) (((unsigned)(x) & 0x1) << 20) 4623464ebd5Sriastradh#define G_SQ_VTX_WORD2_ALT_CONST(x) (((x) >> 20) & 0x1) 4633464ebd5Sriastradh#define C_SQ_VTX_WORD2_ALT_CONST 0xFFEFFFFF 4643464ebd5Sriastradh#define P_SQ_TEX_WORD0 46501e04c3fSmrg#define S_SQ_TEX_WORD0_TEX_INST(x) (((unsigned)(x) & 0x1F) << 0) 4663464ebd5Sriastradh#define G_SQ_TEX_WORD0_TEX_INST(x) (((x) >> 0) & 0x1F) 4673464ebd5Sriastradh#define C_SQ_TEX_WORD0_TEX_INST 0xFFFFFFE0 46801e04c3fSmrg#define S_SQ_TEX_WORD0_BC_FRAC_MODE(x) (((unsigned)(x) & 0x1) << 5) 4693464ebd5Sriastradh#define G_SQ_TEX_WORD0_BC_FRAC_MODE(x) (((x) >> 5) & 0x1) 4703464ebd5Sriastradh#define C_SQ_TEX_WORD0_BC_FRAC_MODE 0xFFFFFFDF 47101e04c3fSmrg#define S_SQ_TEX_WORD0_FETCH_WHOLE_QUAD(x) (((unsigned)(x) & 0x1) << 7) 4723464ebd5Sriastradh#define G_SQ_TEX_WORD0_FETCH_WHOLE_QUAD(x) (((x) >> 7) & 0x1) 4733464ebd5Sriastradh#define C_SQ_TEX_WORD0_FETCH_WHOLE_QUAD 0xFFFFFF7F 47401e04c3fSmrg#define S_SQ_TEX_WORD0_RESOURCE_ID(x) (((unsigned)(x) & 0xFF) << 8) 4753464ebd5Sriastradh#define G_SQ_TEX_WORD0_RESOURCE_ID(x) (((x) >> 8) & 0xFF) 4763464ebd5Sriastradh#define C_SQ_TEX_WORD0_RESOURCE_ID 0xFFFF00FF 47701e04c3fSmrg#define S_SQ_TEX_WORD0_SRC_GPR(x) (((unsigned)(x) & 0x7F) << 16) 4783464ebd5Sriastradh#define G_SQ_TEX_WORD0_SRC_GPR(x) (((x) >> 16) & 0x7F) 4793464ebd5Sriastradh#define C_SQ_TEX_WORD0_SRC_GPR 0xFF80FFFF 48001e04c3fSmrg#define S_SQ_TEX_WORD0_SRC_REL(x) (((unsigned)(x) & 0x1) << 23) 4813464ebd5Sriastradh#define G_SQ_TEX_WORD0_SRC_REL(x) (((x) >> 23) & 0x1) 4823464ebd5Sriastradh#define C_SQ_TEX_WORD0_SRC_REL 0xFF7FFFFF 48301e04c3fSmrg#define S_SQ_TEX_WORD0_ALT_CONST(x) (((unsigned)(x) & 0x1) << 24) 4843464ebd5Sriastradh#define G_SQ_TEX_WORD0_ALT_CONST(x) (((x) >> 24) & 0x1) 4853464ebd5Sriastradh#define C_SQ_TEX_WORD0_ALT_CONST 0xFEFFFFFF 4863464ebd5Sriastradh#define P_SQ_TEX_WORD1 48701e04c3fSmrg#define S_SQ_TEX_WORD1_DST_GPR(x) (((unsigned)(x) & 0x7F) << 0) 4883464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_GPR(x) (((x) >> 0) & 0x7F) 4893464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_GPR 0xFFFFFF80 49001e04c3fSmrg#define S_SQ_TEX_WORD1_DST_REL(x) (((unsigned)(x) & 0x1) << 7) 4913464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_REL(x) (((x) >> 7) & 0x1) 4923464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_REL 0xFFFFFF7F 49301e04c3fSmrg#define S_SQ_TEX_WORD1_DST_SEL_X(x) (((unsigned)(x) & 0x7) << 9) 4943464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_SEL_X(x) (((x) >> 9) & 0x7) 4953464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_SEL_X 0xFFFFF1FF 49601e04c3fSmrg#define S_SQ_TEX_WORD1_DST_SEL_Y(x) (((unsigned)(x) & 0x7) << 12) 4973464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_SEL_Y(x) (((x) >> 12) & 0x7) 4983464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_SEL_Y 0xFFFF8FFF 49901e04c3fSmrg#define S_SQ_TEX_WORD1_DST_SEL_Z(x) (((unsigned)(x) & 0x7) << 15) 5003464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_SEL_Z(x) (((x) >> 15) & 0x7) 5013464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_SEL_Z 0xFFFC7FFF 50201e04c3fSmrg#define S_SQ_TEX_WORD1_DST_SEL_W(x) (((unsigned)(x) & 0x7) << 18) 5033464ebd5Sriastradh#define G_SQ_TEX_WORD1_DST_SEL_W(x) (((x) >> 18) & 0x7) 5043464ebd5Sriastradh#define C_SQ_TEX_WORD1_DST_SEL_W 0xFFE3FFFF 50501e04c3fSmrg#define S_SQ_TEX_WORD1_LOD_BIAS(x) (((unsigned)(x) & 0x7F) << 21) 5063464ebd5Sriastradh#define G_SQ_TEX_WORD1_LOD_BIAS(x) (((x) >> 21) & 0x7F) 5073464ebd5Sriastradh#define C_SQ_TEX_WORD1_LOD_BIAS 0xF01FFFFF 50801e04c3fSmrg#define S_SQ_TEX_WORD1_COORD_TYPE_X(x) (((unsigned)(x) & 0x1) << 28) 5093464ebd5Sriastradh#define G_SQ_TEX_WORD1_COORD_TYPE_X(x) (((x) >> 28) & 0x1) 5103464ebd5Sriastradh#define C_SQ_TEX_WORD1_COORD_TYPE_X 0xEFFFFFFF 51101e04c3fSmrg#define S_SQ_TEX_WORD1_COORD_TYPE_Y(x) (((unsigned)(x) & 0x1) << 29) 5123464ebd5Sriastradh#define G_SQ_TEX_WORD1_COORD_TYPE_Y(x) (((x) >> 29) & 0x1) 5133464ebd5Sriastradh#define C_SQ_TEX_WORD1_COORD_TYPE_Y 0xDFFFFFFF 51401e04c3fSmrg#define S_SQ_TEX_WORD1_COORD_TYPE_Z(x) (((unsigned)(x) & 0x1) << 30) 5153464ebd5Sriastradh#define G_SQ_TEX_WORD1_COORD_TYPE_Z(x) (((x) >> 30) & 0x1) 5163464ebd5Sriastradh#define C_SQ_TEX_WORD1_COORD_TYPE_Z 0xBFFFFFFF 51701e04c3fSmrg#define S_SQ_TEX_WORD1_COORD_TYPE_W(x) (((unsigned)(x) & 0x1) << 31) 5183464ebd5Sriastradh#define G_SQ_TEX_WORD1_COORD_TYPE_W(x) (((x) >> 31) & 0x1) 5193464ebd5Sriastradh#define C_SQ_TEX_WORD1_COORD_TYPE_W 0x7FFFFFFF 5203464ebd5Sriastradh#define P_SQ_TEX_WORD2 52101e04c3fSmrg#define S_SQ_TEX_WORD2_OFFSET_X(x) (((unsigned)(x) & 0x1F) << 0) 5223464ebd5Sriastradh#define G_SQ_TEX_WORD2_OFFSET_X(x) (((x) >> 0) & 0x1F) 5233464ebd5Sriastradh#define C_SQ_TEX_WORD2_OFFSET_X 0xFFFFFFE0 52401e04c3fSmrg#define S_SQ_TEX_WORD2_OFFSET_Y(x) (((unsigned)(x) & 0x1F) << 5) 5253464ebd5Sriastradh#define G_SQ_TEX_WORD2_OFFSET_Y(x) (((x) >> 5) & 0x1F) 5263464ebd5Sriastradh#define C_SQ_TEX_WORD2_OFFSET_Y 0xFFFFFC1F 52701e04c3fSmrg#define S_SQ_TEX_WORD2_OFFSET_Z(x) (((unsigned)(x) & 0x1F) << 10) 5283464ebd5Sriastradh#define G_SQ_TEX_WORD2_OFFSET_Z(x) (((x) >> 10) & 0x1F) 5293464ebd5Sriastradh#define C_SQ_TEX_WORD2_OFFSET_Z 0xFFFF83FF 53001e04c3fSmrg#define S_SQ_TEX_WORD2_SAMPLER_ID(x) (((unsigned)(x) & 0x1F) << 15) 5313464ebd5Sriastradh#define G_SQ_TEX_WORD2_SAMPLER_ID(x) (((x) >> 15) & 0x1F) 5323464ebd5Sriastradh#define C_SQ_TEX_WORD2_SAMPLER_ID 0xFFF07FFF 53301e04c3fSmrg#define S_SQ_TEX_WORD2_SRC_SEL_X(x) (((unsigned)(x) & 0x7) << 20) 5343464ebd5Sriastradh#define G_SQ_TEX_WORD2_SRC_SEL_X(x) (((x) >> 20) & 0x7) 5353464ebd5Sriastradh#define C_SQ_TEX_WORD2_SRC_SEL_X 0xFF8FFFFF 53601e04c3fSmrg#define S_SQ_TEX_WORD2_SRC_SEL_Y(x) (((unsigned)(x) & 0x7) << 23) 5373464ebd5Sriastradh#define G_SQ_TEX_WORD2_SRC_SEL_Y(x) (((x) >> 23) & 0x7) 5383464ebd5Sriastradh#define C_SQ_TEX_WORD2_SRC_SEL_Y 0xFC7FFFFF 53901e04c3fSmrg#define S_SQ_TEX_WORD2_SRC_SEL_Z(x) (((unsigned)(x) & 0x7) << 26) 5403464ebd5Sriastradh#define G_SQ_TEX_WORD2_SRC_SEL_Z(x) (((x) >> 26) & 0x7) 5413464ebd5Sriastradh#define C_SQ_TEX_WORD2_SRC_SEL_Z 0xE3FFFFFF 54201e04c3fSmrg#define S_SQ_TEX_WORD2_SRC_SEL_W(x) (((unsigned)(x) & 0x7) << 29) 5433464ebd5Sriastradh#define G_SQ_TEX_WORD2_SRC_SEL_W(x) (((x) >> 29) & 0x7) 5443464ebd5Sriastradh#define C_SQ_TEX_WORD2_SRC_SEL_W 0x1FFFFFFF 5453464ebd5Sriastradh 54601e04c3fSmrg#define P_SQ_MEM_RD_WORD0 54701e04c3fSmrg#define S_SQ_MEM_RD_WORD0_MEM_INST(x) (((x) & 0x1F) << 0) 54801e04c3fSmrg#define S_SQ_MEM_RD_WORD0_ELEM_SIZE(x) (((x) & 0x3) << 5) 54901e04c3fSmrg#define S_SQ_MEM_RD_WORD0_FETCH_WHOLE_QUAD(x) (((x) & 0x1) << 7) 55001e04c3fSmrg#define S_SQ_MEM_RD_WORD0_MEM_OP(x) (((x) & 0x7) << 8) 55101e04c3fSmrg#define S_SQ_MEM_RD_WORD0_UNCACHED(x) (((x) & 0x1) << 11) 55201e04c3fSmrg#define S_SQ_MEM_RD_WORD0_INDEXED(x) (((x) & 0x1) << 12) 55301e04c3fSmrg#define S_SQ_MEM_RD_WORD0_SRC_SEL_Y(x) (((x) & 0x3) << 13) 55401e04c3fSmrg#define S_SQ_MEM_RD_WORD0_SRC_GPR(x) (((x) & 0x7F) << 16) 55501e04c3fSmrg#define S_SQ_MEM_RD_WORD0_SRC_REL(x) (((x) & 0x1) << 23) 55601e04c3fSmrg#define S_SQ_MEM_RD_WORD0_SRC_SEL_X(x) (((x) & 0x3) << 24) 55701e04c3fSmrg#define S_SQ_MEM_RD_WORD0_BURST_COUNT(x) (((x) & 0xF) << 26) 55801e04c3fSmrg#define S_SQ_MEM_RD_WORD0_LDS_REQ(x) (((x) & 0x1) << 30) 55901e04c3fSmrg#define S_SQ_MEM_RD_WORD0_COALESCED_READ(x) (((x) & 0x1) << 31) 56001e04c3fSmrg#define P_SQ_MEM_RD_WORD1 56101e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_GPR(x) (((x) & 0x7f) << 0) 56201e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_REL(x) (((x) & 0x1) << 7) 56301e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_SEL_X(x) (((x) & 0x7) << 9) 56401e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_SEL_Y(x) (((x) & 0x7) << 12) 56501e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_SEL_Z(x) (((x) & 0x7) << 15) 56601e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DST_SEL_W(x) (((x) & 0x7) << 18) 56701e04c3fSmrg#define S_SQ_MEM_RD_WORD1_DATA_FORMAT(x) (((x) & 0x3F) << 22) 56801e04c3fSmrg#define S_SQ_MEM_RD_WORD1_NUM_FORMAT_ALL(x) (((x) & 0x3) << 28) 56901e04c3fSmrg#define S_SQ_MEM_RD_WORD1_FORMAT_COMP_ALL(x) (((x) & 0x1) << 30) 57001e04c3fSmrg#define S_SQ_MEM_RD_WORD1_SRF_MODE_ALL(x) (((x) & 0x1) << 31) 57101e04c3fSmrg#define P_SQ_MEM_RD_WORD2 57201e04c3fSmrg#define S_SQ_MEM_RD_WORD2_ARRAY_BASE(x) (((x) & 0x1FFF) << 0) 57301e04c3fSmrg#define S_SQ_MEM_RD_WORD2_ENDIAN_SWAP(x) (((x) & 0x3) << 16) 57401e04c3fSmrg#define S_SQ_MEM_RD_WORD2_ARRAY_SIZE(x) (((x) & 0xFFF) << 20) 57501e04c3fSmrg 5763464ebd5Sriastradh#endif 577