Changeset 3305 in CLRX
 Timestamp:
 Sep 3, 2017, 6:08:22 PM (13 months ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

CLRadeonExtender/trunk/amdasm/GCNAsmHelpers.cpp
r3304 r3305 1876 1876 else if (withSDWAOperands>=1 && (flags&PARSEVOP_NODSTMODS)==0 && 1877 1877 (::strcmp(mod, "dst_unused")==0  ::strcmp(mod, "dst_un")==0)) 1878 { 1878 { /* dst_unused modifer */ 1879 1879 skipSpacesToEnd(linePtr, end); 1880 1880 if (linePtr!=end && *linePtr==':') … … 1910 1910 } 1911 1911 else 1912 { 1912 { /* '@' in dst_unused: parametrization */ 1913 1913 linePtr++; 1914 1914 if (parseImm(asmr, linePtr, unused, nullptr, … … 1932 1932 } 1933 1933 else if (withSDWAOperands>=2 && ::strcmp(mod, "src0_sel")==0) 1934 { 1934 { /* src0_sel modifier */ 1935 1935 skipSpacesToEnd(linePtr, end); 1936 1936 if (linePtr!=end && *linePtr==':') … … 1954 1954 } 1955 1955 else 1956 { /* parametrize */1956 { /* parametrize by '@' */ 1957 1957 linePtr++; 1958 1958 if (parseImm(asmr, linePtr, src0Sel, nullptr, … … 1976 1976 } 1977 1977 else if (withSDWAOperands>=3 && ::strcmp(mod, "src1_sel")==0) 1978 { 1978 { // src1_sel modifier 1979 1979 skipSpacesToEnd(linePtr, end); 1980 1980 if (linePtr!=end && *linePtr==':') … … 1998 1998 } 1999 1999 else 2000 { /* parametrize */2000 { /* parametrize by '@' */ 2001 2001 linePtr++; 2002 2002 if (parseImm(asmr, linePtr, src1Sel, nullptr, … … 2134 2134 skipCharAndSpacesToEnd(linePtr, end); 2135 2135 if (linePtr!=end && (*linePtr=='0'  *linePtr=='1')) 2136 { 2136 { // accept '0' and '1' as enabled (old and new syntax) 2137 2137 bool boundCtrl = false; 2138 2138 linePtr++; … … 2161 2161 (::strcmp(mod+4, "shl")==0  ::strcmp(mod+4, "shr")==0  2162 2162 ::strcmp(mod+4, "ror")==0)) 2163 { // 2163 { // row_XXX (shl, shr, ror) modifier 2164 2164 skipSpacesToEnd(linePtr, end); 2165 2165 if (linePtr!=end && *linePtr==':') … … 2199 2199 (::strcmp(mod+5, "shl")==0  ::strcmp(mod+5, "shr")==0  2200 2200 ::strcmp(mod+5, "rol")==0  ::strcmp(mod+5, "ror")==0)) 2201 { 2201 { // wave_XXX (shl,shr,rol,ror) 2202 2202 bool modGood = true; 2203 2203 skipSpacesToEnd(linePtr, end); … … 2227 2227 ::strcmp(mod, "row_half_mirror")==0  2228 2228 ::strcmp(mod, "row_hmirror")==0) 2229 { 2229 { // row_mirror, row_half_mirror 2230 2230 extraMods>dppCtrl = (mod[4]=='h') ? 0x141 : 0x140; 2231 2231 if (haveDppCtrl) … … 2236 2236 (mod[9]=='1' && mod[10]=='5' && mod[11]==0)  2237 2237 (mod[9]=='3' && mod[10]=='1' && mod[11]==0)  mod[9]==0)) 2238 { 2238 { // row_bcast15 and row_bast31 modifier 2239 2239 bool modGood = true; 2240 2240 if (mod[9] =='1') // if row_bcast15
Note: See TracChangeset
for help on using the changeset viewer.