Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !3684

i#1312 AVX-512 support: Add remaining v(p)mov and vpshuf* opcodes.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Hendrik Greving requested to merge i1312-add-evex-decoder-incremental-17 into master Jun 14, 2019
  • Overview 27
  • Commits 11
  • Pipelines 0
  • Changes 14

This patch contains a minor compatibility change that now splits the existing AVX general register versions of vmovd/vmovq into the opcodes vmovd/vmovq.

Adds the evex-promoted opcodes vmovd, vmovq, vpshufhw, vpshufd, vpshuflw, vpshufb, vpmovsxbw, vpmovsxbd, vpmovsxbq, vpmovsxwd, vpmovsxwq, vpmovsxdq, vpmovzxbw, vpmovzxbd, vpmovzxbq, vpmovzxwd, vpmovzxwq, and vpmovzxdq.

Adds the new AVX-512 opcodes vpmovqb, vpmovsqb, vpmovusqb, vpmovqw, vpmovsqw, vpmovusqw, vpmovqd, vpmovsqd, vpmovusqd, vpmovdb, vpmovsdb, vpmovusdb, vpmovdw, vpmovsdw, vpmovusdw, vpmovwb, vpmovswb, vpmovuswb, vpmovm2b, vpmovm2w, vpmovm2d, vpmovm2q, vpmovb2m, vpmovw2m, vpmovd2m, and vpmovq2m.

Adds new letter codes 'i' for quarter and 'j' for eighth.

Along with adding the AVX-512 evex-promoted opcodes, this patch fixes incorrect AVX constraints of vpmovsxbw, vpmovsxbd, vpmovsxbq, vpmovsxwd, vpmovsxwq, vpmovsxdq, vpmovzxbw, vpmovzxbd, vpmovzxbq, vpmovzxwd, vpmovzxwq, and vpmovzxdq.

Adds the internal opsizes OPSZ_quarter_16_vex32, OPSZ_quarter_16_vex32_evex64, OPSZ_eighth_16_vex32, and OPSZ_eighth_16_vex32_evex64.

Adds tests for above.

Opcodes have been checked against llvm-mc, binutils/gas/objdump and capstone.

This patch does not include the AVX-512 vshuf* opcodes, which will be included in a future patch.

Issue: #1312

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i1312-add-evex-decoder-incremental-17