]> granicus.if.org Git - clang/commit
ARM NEON: fix range checking on immediates.
authorTim Northover <tnorthover@apple.com>
Wed, 12 Feb 2014 12:04:59 +0000 (12:04 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 12 Feb 2014 12:04:59 +0000 (12:04 +0000)
commita5f239932494936b269b158ec2d2e0aec912408c
tree6b2bfaac6aaf432a47c2ec8a586d7f35752afcad
parenta947a5af81d89509ae87cdc1b62ef01889cc3c68
ARM NEON: fix range checking on immediates.

Previously, range checking on the __builtin_neon_XYZ_v Clang intrinsics didn't
take account of the type actually passed to the call, which meant a request
like "vext_s16(a, b, 7)" was allowed through (TableGen was conservative and
allowed 0-7 for all types). This caused an assert in the backend because the
lane doesn't make sense.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201232 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/arm_neon.td
lib/Sema/SemaChecking.cpp
utils/TableGen/NeonEmitter.cpp