1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -mcpu=knl %s | FileCheck %s
2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// Check that we deduce unsized memory operands in the general, unambiguous, case.
4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// We can't deduce xword memory operands, because there is no instruction
5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// unambiguously accessing 80-bit memory.
6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: movb %al, (%rax)
8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesmov [rax], al
9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: movw %ax, (%rax)
11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesmov [rax], ax
12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: movl %eax, (%rax)
14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesmov [rax], eax
15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: movq %rax, (%rax)
17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesmov [rax], rax
18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: movdqa %xmm0, (%rax)
20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesmovdqa [rax], xmm0
21ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: vmovdqa %ymm0, (%rax)
23ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvmovdqa [rax], ymm0
24ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
25ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: vaddps (%rax), %zmm1, %zmm1
26ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvaddps zmm1, zmm1, [rax]
27ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: leal 1(%r15d), %r9d
29ebe69fe11e48d322045d5949c83283927a0d790bStephen Hineslea r9d, [r15d+1]
30