erichkeane added a comment. In https://reviews.llvm.org/D37448#861211, @rnk wrote:
> I think this is a reasonable stop-gap fix since the code isn't trying to > return EAX:EDX or XMM0 from the inline asm blob. This affects any function > that contains inline asm and returns a vector, which is potentially a lot of > stuff. Actually... I've convinced myself that this is likely the correct fix for this bug. There is likely a separate bug for vector-types and struct return types, however I'd believe those aren't really things that anyone else supports. According to our definition, v4si is NOT a "Vector" type, since a vector type requires it be a FP value. SO, we are converting an integer stored in eax/edx to a wider integer. Since assembly doesn't have a 'signed'-ness, I would assert that widening a register-stored variable to via zero-ext is the correct fix here. In summary, I believe this is the correct fix for the bug as reported. Repository: rL LLVM https://reviews.llvm.org/D37448 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits