search for: _mul

Displaying 3 results from an estimated 3 matches for "_mul".

Did you mean: s_mul
2008 Jan 14
0
[LLVMdev] llvm-gcc miscompilation or it's the gcc's rule?
I don't think C has a way to express 32b x 32b -> 64b multiply, even though there is (on x86 anyway) a hardware instruction that does it. The type of your expression (x * y) is still uint32_t. The implicit type coercion up to uint64_t as part of the return statement doesn't change this. On Jan 13, 2008, at 10:29 PM, Zhou Sheng wrote: > Hi, > > Here is C function: >
2008 Jan 14
3
[LLVMdev] llvm-gcc miscompilation or it's the gcc's rule?
Hi, Here is C function: uint64_t mul(uint32_t x, uint32_t y) { return x * y; } current llvm-gcc-4.0 with -O3 will compile it to: define i64 @mul(i32 %x, i32 %y) nounwind { entry: %tmp3 = mul i32 %y, %x ; <i32> [#uses=1] %tmp34 = zext i32 %tmp3 to i64 ; <i64> [#uses=1] ret i64 %tmp34 } This seems incorrect. I think it should extend %x, %y to i64 first and
2009 Dec 31
1
[PATCH] Autogenerate uureg opcode macros
...dst, _src(src)) -#define _LIT(dst, src) ureg_LIT(ureg, dst, _src(src)) -#define _RCP(dst, src) ureg_RCP(ureg, dst, _src(src)) -#define _RSQ(dst, src) ureg_RSQ(ureg, dst, _src(src)) -#define _EXP(dst, src) ureg_EXP(ureg, dst, _src(src)) -#define _LOG(dst, src) ureg_LOG(ureg, dst, _src(src)) -#define _MUL(dst, src0, src1) ureg_MUL(ureg, dst, _src(src0), _src(src1)) -#define _ADD(dst, src0, src1) ureg_ADD(ureg, dst, _src(src0), _src(src1)) -#define _DP3(dst, src0, src1) ureg_DP3(ureg, dst, _src(src0), _src(src1)) -#define _DP4(dst, src0, src1) ureg_DP4(ureg, dst, _src(src0), _src(src1)) -#define _DST...