Adopt a more strict approach regarding what marks should/can appear after a destination register, when operating upon an AVX512 platform.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
test/MC/X86/avx512-err.s | ||
---|---|---|
10 ↗ | (On Diff #107852) | why is this error a true? |
test/MC/X86/avx512-err.s | ||
---|---|---|
10 ↗ | (On Diff #107852) | The error due to the misplacing of the rounding (rn-sae) mark (line 11). |
test/MC/X86/avx512-err.s | ||
---|---|---|
8 ↗ | (On Diff #107852) | So why this is an error? you mustn't have the {z} mask before the {rn-sae}. |
10 ↗ | (On Diff #107852) | can you add also the intel syntax test since it is written in a different way? The location of the mask is the first and not the last. For example: and see that you are getting the same error when you insert |
test/MC/X86/avx512-err.s | ||
---|---|---|
8 ↗ | (On Diff #107852) | you don't must the {z} before the {rn-sae} |
test/MC/X86/avx512-err.s | ||
---|---|---|
8 ↗ | (On Diff #107852) | Examine the example you took out of the Spec: |
10 ↗ | (On Diff #107852) | The code flow dictates that this added check will occur after any operand of an AVX512 instruction (more precisely - if this operand is followed by an alleged curly braces marks), so it catches both mischief conducted on Intel and GNU. In other words - it matters not whether the faulty occurs on the last/first operand |