Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] [RFC] Add Intel TSX HLE Support"
2013 Feb 19
9
[LLVMdev] [RFC] Add Intel TSX HLE Support
Hi All,
I'd like to add HLE support in LLVM/clang consistent to GCC's style [1].
HLE from Intel TSX [2] is legacy compatible instruction set extension to
specify transactional region by adding XACQUIRE and XRELEASE prefixes.
To support that, GCC chooses the approach by extending the memory order
flag in __atomic_* builtins with target-specific memory model in high
bits (bit 31-16 for
2013 Feb 19
0
[LLVMdev] [RFC] Add Intel TSX HLE Support
Here is the patch
0003-Add-XACQ-XREL-prefix-and-encoding-asm-printer-suppor.patch
Yours
- Michael
On Tue, 2013-02-19 at 14:07 -0800, Michael Liao wrote:
> Hi All,
>
> I'd like to add HLE support in LLVM/clang consistent to GCC's style [1].
> HLE from Intel TSX [2] is legacy compatible instruction set extension to
> specify transactional region by adding XACQUIRE and
2013 Feb 19
0
[LLVMdev] [RFC] Add Intel TSX HLE Support
Hi Michael,
Why do you want to add transactional memory support to LLVM ? Can't you implement transactional memory using a library call ? Judging by the number of patches it looks like a major change to LLVM, and I am not sure that I understand the motivation for including it in LLVM.
Thanks,
Nadav
On Feb 19, 2013, at 11:52 AM, Michael Liao <michael.liao at intel.com> wrote:
2013 Feb 19
0
[LLVMdev] [RFC] Add Intel TSX HLE Support
Here is the patch 0004-Enable-HLE-code-generation.patch
Yours
- Michael
On Tue, 2013-02-19 at 14:07 -0800, Michael Liao wrote:
> Hi All,
>
> I'd like to add HLE support in LLVM/clang consistent to GCC's style [1].
> HLE from Intel TSX [2] is legacy compatible instruction set extension to
> specify transactional region by adding XACQUIRE and XRELEASE prefixes.
> To
2013 Feb 19
0
[LLVMdev] [RFC] Add Intel TSX HLE Support
Here is the patch 0002-Add-HLE-target-feature.patch
Yours
- Michael
On Tue, 2013-02-19 at 14:07 -0800, Michael Liao wrote:
> Hi All,
>
> I'd like to add HLE support in LLVM/clang consistent to GCC's style [1].
> HLE from Intel TSX [2] is legacy compatible instruction set extension to
> specify transactional region by adding XACQUIRE and XRELEASE prefixes.
> To support
2013 Feb 28
1
[LLVMdev] [RFC] Add Intel TSX HLE Support
Nadav, I've been reading over the patches and I was wondering if you could elaborate your concerns here. I share your goal of reducing compilation time regressions for users that don't care about new feature X. From my very quick glance over the patches, I didn't see anything I couldn't opt out of. Maybe we can talk about specifics and figure out a way to make these changes not
2013 Aug 23
1
[LLVMdev] Incredible effects of extending AtomicSDNode::Ops
Hello,
As part of enhancing atomic operations in the ARM backend, we need to
extend the Ops array in AtomicSDNode.
This array is a private member of AtomicSDNode, so it's only
accessible within 85 lines of code, none of which have anything to do
with its size. Therefore, increasing the size of Ops shouldn't at all
affect the behaviour of LLVM, we supposed.
Much to our surprise, this
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
Hi all,
The C++11 (& C11) compare_exchange functions with explicit memory
order allow you to specify two sets of semantics, one for when the
exchange actually happens and one for when it fails. Unfortunately, at
the moment the LLVM IR "cmpxchg" instruction only has one ordering,
which means we get sub-optimal codegen.
This probably affects all architectures which use
2012 Oct 29
3
[LLVMdev] [llvm-commits] [llvm] r162770 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
Jakob and anyone else who might be interested...
Base on this patch back in August, I sense some need to double check with
you whether it is OK to start making a heavy use of MachineOperand
TargetFlags?
We do seem to have a compelling reason for it in Hexagon, and I wanted to
make sure that it is OK with everyone. I plan to use it for attributing
target specific info to MOs and in more general
2010 Oct 18
5
[LLVMdev] MachineOperand::TargetFlags question
I'm looking at utilizing the MachineOperand::TargetFlags and I'm wondering if there is a specific reason on limiting the size of the flags to 8 bits. Also are there any assumptions on what can be validly used here that I should keep in mind? Ideally I need 28 bits but I can code the major cases using all 8 bits, but I don't want to clobber anything that might be used internally in
2012 Oct 29
0
[LLVMdev] [llvm-commits] [llvm] r162770 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
Hi Sergei,
our use of target flags will be on immediate register operands if I am
not mistaken (and if not we can always encode it as such)?
I guess you are refering to the hexagon backend needing to distinguish
between instances of an instruction that uses a constant value that
can fit into the 4 byte of the instruction and one that encodes the
immediate in an extra instruction slot (what we
2012 Feb 28
3
[Patch] X86: expose HLE/RTM features to dom0
X86: expose HLE/RTM features to dom0
Intel recently release 2 new features, HLE and TRM.
Refer to http://software.intel.com/file/41417.
This patch expose them to dom0.
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
diff -r 92e03310878f xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c Wed Feb 08 21:05:52 2012 +0800
+++ b/xen/arch/x86/traps.c Mon Feb 27 02:23:42 2012 +0800
@@ -857,9
2010 Oct 22
0
[LLVMdev] MachineOperand::TargetFlags question
On Oct 18, 2010, at 11:59 AM, Villmow, Micah wrote:
> I’m looking at utilizing the MachineOperand::TargetFlags and I’m wondering if there is a specific reason on limiting the size of the flags to 8 bits. Also are there any assumptions on what can be validly used here that I should keep in mind? Ideally I need 28 bits but I can code the major cases using all 8 bits, but I don’t want to clobber
2010 Oct 19
0
[LLVMdev] MachineOperand::TargetFlags question
On Oct 18, 2010, at 11:59 AM, Villmow, Micah wrote:
> I’m looking at utilizing the MachineOperand::TargetFlags and I’m wondering if there is a specific reason on limiting the size of the flags to 8 bits.
We create *LOTS* of MachineOperand instances, so it needs to be as small as possible.
> Also are there any assumptions on what can be validly used here that I should keep in mind? Ideally
2012 Aug 22
0
[LLVMdev] No more TargetFlags on MO_Register MachineOperands
On Aug 22, 2012, at 11:34 AM, "Villmow, Micah" <Micah.Villmow at amd.com> wrote:
>
>
>> -----Original Message-----
>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
>> On Behalf Of Owen Anderson
>> Sent: Tuesday, August 21, 2012 11:37 AM
>> To: Stellard, Thomas
>> Cc: llvmdev at cs.illinois.edu
>>
2012 Aug 22
2
[LLVMdev] No more TargetFlags on MO_Register MachineOperands
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Owen Anderson
> Sent: Tuesday, August 21, 2012 11:37 AM
> To: Stellard, Thomas
> Cc: llvmdev at cs.illinois.edu
> Subject: Re: [LLVMdev] No more TargetFlags on MO_Register
> MachineOperands
>
> Tom,
>
> On Aug 21, 2012, at 11:21 AM, Tom
2012 May 25
1
[LLVMdev] MachineOperand TargetFlags being ignored in register coalescing pass
Hi,
On AMD GPUs we have source modifiers and output modifiers, which are bits
you can set on instructions to perform some simple no cost operations
on either the operands or the result of an instruction (floating point
values only).
The source modifiers are FABS and FNEG and are applied to the operands
before an instruction is executed.
The output modifiers are CLAMP (clamp result between 0.0f
2018 Jan 16
1
Beginner question: extending pointer to 128 bits segfaults
Hi all,
I've been trying to extend pointer size of the X86 target to 128 bits. For
the prortype, I would like nothing more than the pointers being i128 type
with the same value as before. All I've done was changing the data layout
string to p:128:128 and when trying to run a basic program such as:
int a = 42;
int *p = &a;
it segfaults with the following stack trace:
#0
2012 Aug 20
2
[LLVMdev] No more TargetFlags on MO_Register MachineOperands
All,
The code generator operand class, MachineOperand, has an 8-bit TargetFlags field that the individual targets can use as they please. X86 and ARM use it to encode linker magic on symbol operands.
It has been mentioned a couple of times on this list that it is not safe to use TargetFlags on register operands. This is because many target-independent passes are manipulating register operands
2012 Aug 21
2
[LLVMdev] No more TargetFlags on MO_Register MachineOperands
Tom,
On Aug 21, 2012, at 11:21 AM, Tom Stellard <thomas.stellard at amd.com> wrote:
> I've been working on replacing the MachineOperand flags in the R600
> backend with immediate operands, but I can't figure out how to modify
> the instruction patterns to make this work. For example, I have the class:
>
> class R600_1OP <bits<32> inst, string opName,