Displaying 20 results from an estimated 100 matches similar to: "There is an error “use of unknown builtin”"
2018 Sep 17
2
error about adding an trinsics
Hi,every one.
This problem has been bothering me for several days.I really hope that you can help me.
I want to add an trinsics in X86. This trinsics can compare two numbers and return the larger.
There are the changes I do as fllowing.
In /tools/clang/include/clang/Basic/BuiltinsX86.def :
BUILTIN(__builtin_x86_max_qb, "iii", "")
In include/llvm/IR/IntrinsicsX86.td :
let
2018 Sep 06
2
Adding an trinsics in x86
Hi Everyone!
I am a newbie at llvm. So the question may be fundamental but difficult to me.
I want to add an trinsics in x86 and make the following changes.I want that max_qb can find the max of two Integers and return it.
In src/include/llvm/IR/Intrinsics.td :
let TargetPrefix = "x86" in {
def int_x86_max_qb: GCCBuiltin<"__builtin_x86_max_qb">,
2018 Nov 14
2
Fw: How to define an instruction
--------- Forwarded Message ---------
From: Tianhao Shen <17862703959 at 163.com>
Date: 11/14/2018 09:31
To: craig.topper at gmail.com <craig.topper at gmail.com>
Subject: Re: [llvm-dev] How to define an instruction
Hi, Craig
Thank you for replying to me.
I guess that you misunderstand my meaning about "can'r run". I just want to run my instruction by LLVM using the
2018 Nov 14
2
Fw: How to define an instruction
Thank you for answering my confusion.
I have another questions.
If I add really instructions instead intrinsics ,can I reach my purpose?
I guess ,the answer is "can't". I don't find the anything about how machine to do about instructions,especially "ALU" instructions.
Thank you again,
Tianhao Shen
On 11/14/2018 13:42,Craig Topper<craig.topper at gmail.com>
2018 Nov 07
2
how to add a instruction
Hi,every one.
I' in trouble again.
I want add a new intrinsic mapping a new instruction.
I add the int_x86_max_qb as fllowing:
def int_x86_max_qb: GCCBuiltin<"__builtin_x86_max_qb">, Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [Commutative]>;
BUILTIN(__builtin_x86_max_qb, "iii", "")
I define the intrinsic as Pseudo instruction,it
2016 May 01
2
r267690 - [Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps instruction set
Hi,
For now no.
But I will add this three builtins to CGBuiltin.cpp.
If you want, you can be a reviewer of this change.
Regards
Michael Zuckerman
From: Craig Topper [mailto:craig.topper at gmail.com]
Sent: Thursday, April 28, 2016 04:53
To: Zuckerman, Michael <michael.zuckerman at intel.com>
Subject: Re: r267690 - [Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps
2016 May 15
2
r267690 - [Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps instruction set
Hi ,
In the future, we will address this issue.
Regards
Michael Zuckerman
From: Eric Christopher [mailto:echristo at gmail.com]
Sent: Sunday, May 01, 2016 19:54
To: Zuckerman, Michael <michael.zuckerman at intel.com>; Craig Topper <craig.topper at gmail.com>
Cc: llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] r267690 - [Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa
2014 Apr 22
2
[LLVMdev] where is F7 opcode for TEST instruction on X86?
hi,
at the moment, TEST instruction is defined with 0xf7 opcode, as
demonstrated below.
$ echo "0xf7 0xc0 0x00 0x00 0x00 0x22"|./Release+Asserts/bin/llvm-mc
-disassemble -arch=x86
.section __TEXT,__text,regular,pure_instructions
testl $570425344, %eax ## imm = 0x22000000
however, i cannot find anywhere this F7 opcode is defined in
2016 Oct 12
2
Generate Register Indirect mode instruction
On 10/12/2016 2:22 PM, Alex Bradley wrote:
>
>
> > You probably want to look at the x86 backend; it has a lot of
> instructions which involve both computation and memory. Take the
> following IR, a variant of your example:
> >
> > define void @foo(i32 *%a, i32 *%b, i32 *%c) {
> > entry:
> > %0 = load i32, i32* %a, align 4
> > %1 = load i32,
2012 Jan 20
2
[LLVMdev] Tablegen: How to define an instruction that reads and writes the same register
Hi,
Is it possible to define an Instruction with tablegen that reads and
writes the same register? For example, an increment instruction that
reads a value from a register, adds one to it and then writes the result
back to the same register.
Thanks,
Tom
2012 Aug 21
0
[LLVMdev] Let's get rid of neverHasSideEffects
On Aug 21, 2012, at 2:02 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> All,
>
> TableGen likes to infer the MCID::UnmodeledSideEffects flag from an instruction's pattern. When an instruction doesn't have a pattern, it is assumed to have side effects.
Hi Jakob,
I don't understand what you're saying. Are you proposing that all properties (may load,
2012 Aug 21
3
[LLVMdev] Let's get rid of neverHasSideEffects
On Aug 21, 2012, at 3:02 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Aug 21, 2012, at 2:02 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>
>> All,
>>
>> TableGen likes to infer the MCID::UnmodeledSideEffects flag from an instruction's pattern. When an instruction doesn't have a pattern, it is assumed to have side effects.
>
2014 Jun 24
2
[LLVMdev] Bug in LEA16r (X86InstrArithmetic.td) ??
Hi,
in X86InstrArithmetic.td, we have LEA16r defined as:
def LEA16r : I<0x8D, MRMSrcMem,
(outs GR16:$dst), (ins i32mem:$src),
"lea{w}\t{$src|$dst}, {$dst|$src}", [], IIC_LEA_16>,
OpSize16;
Please correct me if I am wrong, but I think "ins i32mem" should be "ins
i16mem" because this is about 16bit register?
So is this a
2014 Jun 24
2
[LLVMdev] Bug in LEA16r (X86InstrArithmetic.td) ??
On Tue, Jun 24, 2014 at 4:03 PM, Tim Northover <t.p.northover at gmail.com>
wrote:
> Hi Jun,
>
> On 24 June 2014 08:08, Jun Koi <junkoi2004 at gmail.com> wrote:
> > def LEA16r : I<0x8D, MRMSrcMem,
> > (outs GR16:$dst), (ins i32mem:$src),
> > "lea{w}\t{$src|$dst}, {$dst|$src}", [], IIC_LEA_16>,
> >
2020 Mar 12
3
Getting up to speed with llvm backends. Machine Instruction operands.
Welcome to all
Questions from veteran programmer with no LLVM backend experience evaluating
llvm for creating a Hitachi 6309 backend.
This post is about finding out more about machine instruction operands.
The documentation I have read so far includes:
- the online manuals
- Building an LLVM Backend. Fraser Cormack Pierre-André Saulais
- The Design of a Custom 32-bit RISC CPU
2017 Dec 04
2
[RFC] - Deduplication of debug information in linkers (LLD)
At least one proprietary linker put a lot of effort into deduplicating and
rewriting debug information. This took up the majority of the link time
despite serious engineering time on performance optimisation. For example,
some sections were written from scratch by the linker because that proved
faster than parsing the input. Teaching LLD to dedup DWARF should be
expected to dramatically slow it
2012 Aug 21
8
[LLVMdev] Let's get rid of neverHasSideEffects
All,
TableGen likes to infer the MCID::UnmodeledSideEffects flag from an instruction's pattern. When an instruction doesn't have a pattern, it is assumed to have side effects.
It's possible to override this behavior by setting neverHasSideEffects = 1.
It was originally the intention that most instructions have patterns, but that's not the way it worked out. It is often more
2016 Oct 10
8
Generate Register Indirect mode instruction
Hi All,
I am new to llvm backend. I am trying out few examples to understand
backend codegen. I have ported llvm LEG @
https://github.com/frasercrmck/llvm-leg to llvm 3.9 successfully.
Currently, the LEG instructions are RISC load-store type instruction. I
want to generate some instructions for register indirect mode, like
following:
IR:
@a = local_unnamed_addr global i32 0, align 4
@b =
2012 Sep 21
1
[LLVMdev] clang and __builtin_va_list
I am using the Clang c++ API. I have a blocking issue because the builtin __builtin_va_list clang isn't defined.
Here is the error:
..lib/clang/3.2/include/stdarg.h:30:9: error: unknown type name '__builtin_va_list'; did you mean '__builtin_va_list'? typedef __builtin_va_list va_list;
>From what I've read, this builtin is target dependent.
This builtin is not defined
2012 Aug 21
0
[LLVMdev] Let's get rid of neverHasSideEffects
On Aug 21, 2012, at 3:45 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>> I don't understand what you're saying. Are you proposing that all properties (may load, store, side effects) be explicitly added to all instructions, and the pattern only be used to produce warnings?
>
> Yes.
>
> The side effect inference is worse than the load/store inference, but