See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820
This change also improves errors reporting (bug 41303).
Paths 
  |  Differential  D61125  
[AMDGPU][MC] Enabled constant expressions as operands of s_getreg/s_setreg ClosedPublic Authored by dp on Apr 25 2019, 3:28 AM. 
Details Summary See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820 This change also improves errors reporting (bug 41303). 
Diff Detail Event TimelineHerald added subscribers: t-tye, tpr, dstuttard and 5 others.  ·  View Herald TranscriptApr 25 2019, 3:28 AM Comment Actions 
 Comment Actions Please make this small fix and go ahead. 
 This revision is now accepted and ready to land.Jun 5 2019, 7:32 AM Closed by commit rL363255: [AMDGPU][MC] Enabled constant expressions as operands of s_getreg/s_setreg (authored by dpreobra).  ·  Explain WhyJun 13 2019, 5:44 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 200752 lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
 lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
 lib/Target/AMDGPU/SIDefines.h
 lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
 lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
 test/MC/AMDGPU/sopk-err.s
 test/MC/AMDGPU/sopk.s
  | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This enum shall contain only "widths minus one".
If we need "exact" widths (at other levels of abstraction), then let's define dedicated enum for these:
enum Width : unsigned { // Some values from WidthMinusOne mapped into Width domain. WIDTH_DEFAULT_ = WIDTH_M1_DEFAULT_ + 1, };