On 04/21/2013 03:37 AM, Anton Korobeynikov wrote:
>> I'm trying to just emit simple inline assembler (no constraints, inputs,
>> Can anyone point me to an example of this..?
> C++ backend is your friend here.
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University
That's where I'm looking. Unfortunately they are processing the general
case so it's a lot of information to dig though.
> I'm trying to just emit simple inline assembler (no constraints, inputs,
> Can anyone point me to an example of this..?
> This is corresponding to:
> __asm__ ("mfc1 $4,$f12");
> This is what I tried but it's not correct.
> std::vector<llvm::Type *> AsmArgTypes;
> llvm::FunctionType *AsmFTy =
> AsmArgTypes, false);
> llvm::InlineAsm *IA =
> llvm::InlineAsm::get(AsmFTy, "mfc1 $$4,$$f12", "", true,
> /* IsAlignStack */ false,
> CallInst::Create(IA, BB);
> Probably something stupid I'm doing. I'm debugging now but maybe someone
> knows the answer.
I was close the first time. I derived this from the general clang
version and I guess you need to include the argument list, even though
it's null. Too many things to do to deep dive into all of that code