Displaying 4 results from an estimated 4 matches for "8i8".
Did you mean:
88
2012 Aug 21
3
[LLVMdev] Let's get rid of neverHasSideEffects
...he mayLoad and mayStore flags in the big ArithBinOp multiclasses.
You can see the problem in the big ArithBinOp_RF multiclass in X86InstrArithmetic.td. It's not obvious at a glance which of those instructions have patterns, and as a result we forgot to set neverHasSideEffects on the *_REV and *8i8 variants. I don't think it would detract to add "let mayLoad = 1 in {…}" around the *rm groups etc.
Or you could set the flags on the various BinOpRMW super classes.
/jakob
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
0
[LLVMdev] Let's get rid of neverHasSideEffects
...and mayStore flags in the big ArithBinOp multiclasses.
>
> You can see the problem in the big ArithBinOp_RF multiclass in X86InstrArithmetic.td. It's not obvious at a glance which of those instructions have patterns, and as a result we forgot to set neverHasSideEffects on the *_REV and *8i8 variants. I don't think it would detract to add "let mayLoad = 1 in {…}" around the *rm groups etc.
Personally, I don't like the direction of making everything be redundantly specified with "let" clauses and in the patterns. I agree that it is a problem that we're...
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