search for: narrowscalar

Displaying 5 results from an estimated 5 matches for "narrowscalar".

2017 Jul 02
2
[GlobalISel] G_LOAD/G_STORE i64/f64 handling
Hi all, I am working on enabling X86 using GLobalIsel framework. I have 32bit platform + float/double configuration (-mtriple=i386-linux-gnu -mattr=+sse2 ) load i64, i64* %p1 - illegal, require narrowScalar action load double, double * %p1 - legal What is the best approach to Legalize this case ? Should I mark G_LOAD/G_STORE s64 as Custom? Regards, Igor Breger --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any atta...
2020 Mar 24
3
[GlobalISel] Narrowing uneven/non-pow-2 types
Hi all, recently when working with GlobalISel we have often encountered cases in the legalizer where instructions could not be narrowed because the narrowing code relies on G_UNMERGE_VALUES and therefore requires the source type to be a multiple of the narrow type. Often times these instructions can be widened without any problem to a fitting type. This has us writing legalization rules like
2020 Mar 25
2
[GlobalISel] Narrowing uneven/non-pow-2 types
...ation is done. In this particular case, another helper may be useful, since forcing a power of 2 and bounding the size are two distinct constraints. Hm, I see. That makes a lot of sense. What could such a helper look like? I was thinking about something along the lines of clampScalarWithWiden or narrowScalarWithWiden (if you have better suggestions, I would highly appreciate it) which would be a short-hand for a widen to the next multiple of the narrow type and narrowScalar. My main concern here is that if at one point in the future narrowing for an uneven type suddenly gets supported, I would rath...
2018 Jul 03
2
Using FileCheck in unit tests
...nconvenient to use llc. To elaborate on this, the motivating issue as I understand it is that there's portions of GlobalISel that will be needed by targets in the future but aren't used by the current set of targets that support GlobalISel. For example, of the various actions (widenScalar, narrowScalar, Lower, etc.) that can be taken on CTLZ, most of the current GlobalISel targets declare CTLZ legal for almost all the types they encounter in practice. Instead of leaving the other paths untested or unimplemented, you wanted to be able to test those parts of GlobalISel even though we lack a target...
2018 Jul 02
3
Using FileCheck in unit tests
When writing MachineFunction unit tests, I find it quite tedious to verify correctness in C++. I would like to use FileCheck in UnitTests because FileCheck is extremely convenient/robust to verify correctness. In order to do so, I moved most of FileCheck’s implementation into a header (Support/FileCheck.h) and updated FileCheck.cpp to use this. I ran into this while writing some target agnostic