https://github.com/DavidSpickett commented:

If I understood this, the code is trying to make the order inside the APInt 
always:
least significant 64-bit element, most significant 64-bit element

Because internally APInt expects this no matter the platform endian? Haven't 
verified that but it's implied.

The first element you'd get from a big endian extractor is actually the most 
significant, so the two elements need to be reversed.

Which was being done but the wrong way around. Little endian is fine, big 
endian needs to be swapped.

How did you hit this? I thought I could reach it by running an expression on 
AArch64 that used a `v` register, but because I need to use float or double to 
do that, it's always marked as a float type and takes that path.

The fix seems correct but I'd like to be able to test this. Though it will 
likely only get run with little endian, it'd be something.

Might be able to make something synthetic via the SBAPI.

https://github.com/llvm/llvm-project/pull/163646
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to