Issue 52826
Summary [PPC] Support 64 bit code with 32 bit address space.
Labels new issue
Assignees
Reporter iMoD1998
    It would be great if someone would be kind enough to implement support for ppc64 based processors that use a 32 bit address space.

PS3 is an example of something that uses this and is currently a target (Lv2) but does not function correctly in both powerpc64 and powerpc targets.

It mostly breaks with function pointers with an example being:

```cpp
unsigned long long Example(unsigned long long x, unsigned long long y)
{
	return x * y;
}

auto ExamplePtr = (decltype(&Example))Example;

int main(int argc, const char* argv[])
{
	return ExamplePtr(1, 2);
}
```

Producing something along the lines of:
`Assertion failed: N1.getValueType() == N2.getValueType() && N1.getValueType() == VT && "Binary operator types must match!"`

Seems like this feature was intended to be implemented at one point as can have `use64BitRegs` feature?

Anyways, I would appreciate if anyone could add this or point me in the right direction to get started.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to