[jdk17] RFR: 8269580: assert(is_valid()) failed: invalid register (-1)

Jatin Bhateja jbhateja at openjdk.java.net
Tue Jun 29 15:43:16 UTC 2021


- Assertion fails during emit phase of rep_stos instruction pattern on targets not supporting AVX512BW feature.
- Pattern is selected under following predication logic.
 predicate(!((ClearArrayNode*)n)->is_large() &&
              (UseAVX <= 2 || !VM_Version::supports_avx512vlbw()));
- Encoding block of this pattern passes a  knoreg opmask register having a default encoding of -1,  this later causes an assertion failure while assembling instruction operating over this register. 
- Existing pattern rep_stos_evex should be able to handle case for AVX512 targets as instructions operating of opmask registers are anyways guarded by target feature checks.

-------------

Commit messages:
 - 8269580: assert(is_valid()) failed: invalid register (-1)

Changes: https://git.openjdk.java.net/jdk17/pull/172/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=172&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8269580
  Stats: 4 lines in 2 files changed: 0 ins; 0 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/172.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/172/head:pull/172

PR: https://git.openjdk.java.net/jdk17/pull/172


More information about the hotspot-compiler-dev mailing list