Displaying 4 results from an estimated 4 matches for "dp_to_fp".
2008 Oct 07
3
[LLVMdev] Multi instruction pattern help
...I attempted what you suggested and
it fixed that issue, but then it started giving a warning that there is
an unknown node in the resulting pattern.
// unsigned int: f64->i32 ==> f64->f32 + f32->i32
def : Pat<(i32 (fp_to_uint (f64 GPR:$src0))),
(i32 (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0)))))>;
1>Building AMDil.td instruction selector implementation with tblgen
1>(fp_to_uint:i32 (dp_to_fp:f32 GPR:f64:$src0))
1>f:\hq\main\sw\appeng\tools\hpc\opencl\llvm\win32\AMDIL\..\bin\Win32\De
bug\TableGen.exe: Unknown node in result pattern!
both fp_to_uint and dp...
2008 Oct 07
0
[LLVMdev] Multi instruction pattern help
...suggested and it fixed that issue, but then it started giving a
> warning that there is an unknown node in the resulting pattern.
>
> // unsigned int: f64->i32 ==> f64->f32 + f32->i32
> def : Pat<(i32 (fp_to_uint (f64 GPR:$src0))),
> (i32 (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0)))))>;
> 1>Building AMDil.td instruction selector implementation with tblgen
> 1>(fp_to_uint:i32 (dp_to_fp:f32 GPR:f64:$src0))
> 1>f:\hq\main\sw\appeng\tools\hpc\llvm\win32\AMDIL\..\bin\Win32\Debug
> \TableGen.exe: Unknown node in result pattern!
> both fp...
2008 Oct 07
2
[LLVMdev] Multi instruction pattern help
...to
32bit integers. As the backend doesn't support this natively but has a
way of converting it, I'd prefer to get this working via tablegen.
What I thought would work from the previous discussion is the following:
def : Pat<(fp_to_uint (f64 GPR:$src0)),
(fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>;
Which when it runs across a 64bit float, it does a double to single
conversion, and then calls the 32bit float to int routine.
However, tablegen fails with the following error:
1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0)
1>f:\hq\main\sw\appeng\tools\hpc\...
2008 Oct 07
0
[LLVMdev] Multi instruction pattern help
...backend doesn’t support this natively but
> has a way of converting it, I’d prefer to get this working via
> tablegen.
>
> What I thought would work from the previous discussion is the
> following:
> def : Pat<(fp_to_uint (f64 GPR:$src0)),
> (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>;
>
> Which when it runs across a 64bit float, it does a double to single
> conversion, and then calls the 32bit float to int routine.
>
> However, tablegen fails with the following error:
> 1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0)
This is tr...