[llvm-commits] [llvm] r166949 - in /llvm/trunk: lib/Target/X86/AsmParser/X86AsmParser.cpp test/CodeGen/X86/ms-inline-asm.ll test/MC/X86/x86-32-ms-inline-asm.s

Eli Friedman eli.friedman at gmail.com
Mon Oct 29 11:14:27 PDT 2012


On Mon, Oct 29, 2012 at 11:01 AM, Chad Rosier <mcrosier at apple.com> wrote:
> Modified: llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll?rev=166949&r1=166948&r2=166949&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll Mon Oct 29 13:01:54 2012
> @@ -61,3 +61,110 @@
>  ; CHECK: .att_syntax
>  ; CHECK: {{## InlineAsm End|#NO_APP}}
>  }
> +
> +define void @t21() nounwind {
> +; CHECK: t21
> +entry:
> +  br label %foo
> +
> +foo:                                              ; preds = %entry
> +  call void asm sideeffect inteldialect "mov eax, [4*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [4*eax + 4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [4*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [4*eax][4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + eax]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][eax]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + 4*eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + 4*eax]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][4*eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][4*eax]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + eax + 4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][eax + 4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + eax][4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][eax][4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + 2*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + 2*eax + 4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][2*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][2*eax + 4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi + 2*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi + 2*eax][4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  call void asm sideeffect inteldialect "mov eax, [esi][2*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
> +; CHECK: {{## InlineAsm Start|#APP}}
> +; CHECK: .intel_syntax
> +; CHECK: mov eax, [esi][2*eax][4]
> +; CHECK: .att_syntax
> +; CHECK: {{## InlineAsm End|#NO_APP}}
> +
> +  ret void
> +}

This test isn't testing anything useful.

-Eli



More information about the llvm-commits mailing list