[PATCH] D25268: Handle *_EXTEND_VECTOR_INREG during Integer Legalization

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 5 07:16:58 PDT 2016


RKSimon added inline comments.


> LegalizeIntegerTypes.cpp:3355
> +    SDValue Promoted = GetPromotedInteger(N->getOperand(0));
> +    if (Promoted.getValueType() == NVT)
> +      return Promoted;

Are you sure we're correctly handling the extension in this case? Promotion tends to leave the upper bits as garbage - won't we still need to perform a SIGN_EXTEND_INREG/ZERO_EXTEND_INREG.

> promote-vec3.ll:1
> +; RUN: llc < %s -mtriple=i686-unknown-unknown -mcpu=atom | FileCheck %s
> +

Please use an -mattr=+ssse3 instead of a specific cpu target. Also test for SSE4.1 / AVX / AVX2 cases as well if you can, even though these probably don't use this new code path - just to check codegen.

Also please regenerate with utils\update_llc_test_checks.py

https://reviews.llvm.org/D25268





More information about the llvm-commits mailing list