1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3// CHECK: invept 485498096, %r15 4// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 5invept 485498096, %r15 6 7// CHECK: invept 64(%rdx), %r15 8// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x7a,0x40] 9invept 64(%rdx), %r15 10 11// CHECK: invept 64(%rdx,%rax,4), %r15 12// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x7c,0x82,0x40] 13invept 64(%rdx,%rax,4), %r15 14 15// CHECK: invept -64(%rdx,%rax,4), %r15 16// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x7c,0x82,0xc0] 17invept -64(%rdx,%rax,4), %r15 18 19// CHECK: invept 64(%rdx,%rax), %r15 20// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x7c,0x02,0x40] 21invept 64(%rdx,%rax), %r15 22 23// CHECK: invept (%rdx), %r15 24// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x80,0x3a] 25invept (%rdx), %r15 26 27// CHECK: invvpid 485498096, %r15 28// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 29invvpid 485498096, %r15 30 31// CHECK: invvpid 64(%rdx), %r15 32// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x7a,0x40] 33invvpid 64(%rdx), %r15 34 35// CHECK: invvpid 64(%rdx,%rax,4), %r15 36// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x7c,0x82,0x40] 37invvpid 64(%rdx,%rax,4), %r15 38 39// CHECK: invvpid -64(%rdx,%rax,4), %r15 40// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x7c,0x82,0xc0] 41invvpid -64(%rdx,%rax,4), %r15 42 43// CHECK: invvpid 64(%rdx,%rax), %r15 44// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x7c,0x02,0x40] 45invvpid 64(%rdx,%rax), %r15 46 47// CHECK: invvpid (%rdx), %r15 48// CHECK: encoding: [0x66,0x44,0x0f,0x38,0x81,0x3a] 49invvpid (%rdx), %r15 50 51// CHECK: vmcall 52// CHECK: encoding: [0x0f,0x01,0xc1] 53vmcall 54 55// CHECK: vmclear 485498096 56// CHECK: encoding: [0x66,0x0f,0xc7,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 57vmclear 485498096 58 59// CHECK: vmclear 64(%rdx) 60// CHECK: encoding: [0x66,0x0f,0xc7,0x72,0x40] 61vmclear 64(%rdx) 62 63// CHECK: vmclear 64(%rdx,%rax,4) 64// CHECK: encoding: [0x66,0x0f,0xc7,0x74,0x82,0x40] 65vmclear 64(%rdx,%rax,4) 66 67// CHECK: vmclear -64(%rdx,%rax,4) 68// CHECK: encoding: [0x66,0x0f,0xc7,0x74,0x82,0xc0] 69vmclear -64(%rdx,%rax,4) 70 71// CHECK: vmclear 64(%rdx,%rax) 72// CHECK: encoding: [0x66,0x0f,0xc7,0x74,0x02,0x40] 73vmclear 64(%rdx,%rax) 74 75// CHECK: vmclear (%rdx) 76// CHECK: encoding: [0x66,0x0f,0xc7,0x32] 77vmclear (%rdx) 78 79// CHECK: vmlaunch 80// CHECK: encoding: [0x0f,0x01,0xc2] 81vmlaunch 82 83// CHECK: vmptrld 485498096 84// CHECK: encoding: [0x0f,0xc7,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 85vmptrld 485498096 86 87// CHECK: vmptrld 64(%rdx) 88// CHECK: encoding: [0x0f,0xc7,0x72,0x40] 89vmptrld 64(%rdx) 90 91// CHECK: vmptrld 64(%rdx,%rax,4) 92// CHECK: encoding: [0x0f,0xc7,0x74,0x82,0x40] 93vmptrld 64(%rdx,%rax,4) 94 95// CHECK: vmptrld -64(%rdx,%rax,4) 96// CHECK: encoding: [0x0f,0xc7,0x74,0x82,0xc0] 97vmptrld -64(%rdx,%rax,4) 98 99// CHECK: vmptrld 64(%rdx,%rax) 100// CHECK: encoding: [0x0f,0xc7,0x74,0x02,0x40] 101vmptrld 64(%rdx,%rax) 102 103// CHECK: vmptrld (%rdx) 104// CHECK: encoding: [0x0f,0xc7,0x32] 105vmptrld (%rdx) 106 107// CHECK: vmptrst 485498096 108// CHECK: encoding: [0x0f,0xc7,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 109vmptrst 485498096 110 111// CHECK: vmptrst 64(%rdx) 112// CHECK: encoding: [0x0f,0xc7,0x7a,0x40] 113vmptrst 64(%rdx) 114 115// CHECK: vmptrst 64(%rdx,%rax,4) 116// CHECK: encoding: [0x0f,0xc7,0x7c,0x82,0x40] 117vmptrst 64(%rdx,%rax,4) 118 119// CHECK: vmptrst -64(%rdx,%rax,4) 120// CHECK: encoding: [0x0f,0xc7,0x7c,0x82,0xc0] 121vmptrst -64(%rdx,%rax,4) 122 123// CHECK: vmptrst 64(%rdx,%rax) 124// CHECK: encoding: [0x0f,0xc7,0x7c,0x02,0x40] 125vmptrst 64(%rdx,%rax) 126 127// CHECK: vmptrst (%rdx) 128// CHECK: encoding: [0x0f,0xc7,0x3a] 129vmptrst (%rdx) 130 131// CHECK: vmreadq %r15, 485498096 132// CHECK: encoding: [0x44,0x0f,0x78,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 133vmreadq %r15, 485498096 134 135// CHECK: vmreadq %r15, 64(%rdx) 136// CHECK: encoding: [0x44,0x0f,0x78,0x7a,0x40] 137vmreadq %r15, 64(%rdx) 138 139// CHECK: vmreadq %r15, 64(%rdx,%rax,4) 140// CHECK: encoding: [0x44,0x0f,0x78,0x7c,0x82,0x40] 141vmreadq %r15, 64(%rdx,%rax,4) 142 143// CHECK: vmreadq %r15, -64(%rdx,%rax,4) 144// CHECK: encoding: [0x44,0x0f,0x78,0x7c,0x82,0xc0] 145vmreadq %r15, -64(%rdx,%rax,4) 146 147// CHECK: vmreadq %r15, 64(%rdx,%rax) 148// CHECK: encoding: [0x44,0x0f,0x78,0x7c,0x02,0x40] 149vmreadq %r15, 64(%rdx,%rax) 150 151// CHECK: vmreadq %r15, %r15 152// CHECK: encoding: [0x45,0x0f,0x78,0xff] 153vmreadq %r15, %r15 154 155// CHECK: vmreadq %r15, (%rdx) 156// CHECK: encoding: [0x44,0x0f,0x78,0x3a] 157vmreadq %r15, (%rdx) 158 159// CHECK: vmresume 160// CHECK: encoding: [0x0f,0x01,0xc3] 161vmresume 162 163// CHECK: vmwriteq 485498096, %r15 164// CHECK: encoding: [0x44,0x0f,0x79,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 165vmwriteq 485498096, %r15 166 167// CHECK: vmwriteq 64(%rdx), %r15 168// CHECK: encoding: [0x44,0x0f,0x79,0x7a,0x40] 169vmwriteq 64(%rdx), %r15 170 171// CHECK: vmwriteq 64(%rdx,%rax,4), %r15 172// CHECK: encoding: [0x44,0x0f,0x79,0x7c,0x82,0x40] 173vmwriteq 64(%rdx,%rax,4), %r15 174 175// CHECK: vmwriteq -64(%rdx,%rax,4), %r15 176// CHECK: encoding: [0x44,0x0f,0x79,0x7c,0x82,0xc0] 177vmwriteq -64(%rdx,%rax,4), %r15 178 179// CHECK: vmwriteq 64(%rdx,%rax), %r15 180// CHECK: encoding: [0x44,0x0f,0x79,0x7c,0x02,0x40] 181vmwriteq 64(%rdx,%rax), %r15 182 183// CHECK: vmwriteq %r15, %r15 184// CHECK: encoding: [0x45,0x0f,0x79,0xff] 185vmwriteq %r15, %r15 186 187// CHECK: vmwriteq (%rdx), %r15 188// CHECK: encoding: [0x44,0x0f,0x79,0x3a] 189vmwriteq (%rdx), %r15 190 191// CHECK: vmxoff 192// CHECK: encoding: [0x0f,0x01,0xc4] 193vmxoff 194 195// CHECK: vmxon 485498096 196// CHECK: encoding: [0xf3,0x0f,0xc7,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 197vmxon 485498096 198 199// CHECK: vmxon 64(%rdx) 200// CHECK: encoding: [0xf3,0x0f,0xc7,0x72,0x40] 201vmxon 64(%rdx) 202 203// CHECK: vmxon 64(%rdx,%rax,4) 204// CHECK: encoding: [0xf3,0x0f,0xc7,0x74,0x82,0x40] 205vmxon 64(%rdx,%rax,4) 206 207// CHECK: vmxon -64(%rdx,%rax,4) 208// CHECK: encoding: [0xf3,0x0f,0xc7,0x74,0x82,0xc0] 209vmxon -64(%rdx,%rax,4) 210 211// CHECK: vmxon 64(%rdx,%rax) 212// CHECK: encoding: [0xf3,0x0f,0xc7,0x74,0x02,0x40] 213vmxon 64(%rdx,%rax) 214 215// CHECK: vmxon (%rdx) 216// CHECK: encoding: [0xf3,0x0f,0xc7,0x32] 217vmxon (%rdx) 218 219