Open betelgeuse opened 4 months ago
Why do you expect vld1_u8
to be present in the disassembled executable? You are building in release mode and vld1_u8
is both small and marked as #[inline]
, so it will be inlined. Also debuginfo is not entirely accurate in release mode, so the lack of any debuginfo corresponding to the line where you call vld1_u8
is not unexpected.
Why do you expect
vld1_u8
to be present in the disassembled executable? You are building in release mode andvld1_u8
is both small and marked as#[inline]
, so it will be inlined. Also debuginfo is not entirely accurate in release mode, so the lack of any debuginfo corresponding to the line where you callvld1_u8
is not unexpected.
Because in my original code from which I created the example there's a line to which to attribute the call. It currently gets annotated like this for the original code.
; unsafe { copy_nonoverlapping(src, dst, count) }
cdcc: fc401020 ldur d0, [x1, #0x1]
Lines four to five of my simple example seem to replicate the issue.
I created this simple example:
I expected to see this happen: explanation
This should find a line in the output:
Instead, this happened: explanation
I dumped the asm with:
I had to setup a symlink in root (maybe there's a better way but this was good enough inside a container) to find the sources
The relevant output is:
Only vsub_u8 shows up when it should also have vld1_u8. It seems wrong code gets picked up to the output for the latter.
Meta
rustc --version --verbose
: