[LLVMbugs] [Bug 4833] New: Information about the sign is lost for some NEON intrinsics

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Aug 30 10:19:06 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=4833

           Summary: Information about the sign is lost for some NEON
                    intrinsics
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: asl at math.spbu.ru
                CC: llvmbugs at cs.uiuc.edu, bob.wilson at apple.com


Consider the following code:

#include "arm_neon.h"

void test_vget_lanes8 (void)
{
  int8_t out_int8_t;
  int8x8_t arg0_int8x8_t;

  out_int8_t = vget_lane_s8 (arg0_int8x8_t, 1);
}

We're emitting invalid vmov.u8 here (in -O0) since the information about
zero/sign extension is lost during frontend expansion.

Out current approach of deciding whether we need to do sign/zero extension is
pretty fragile (based on DAG combiner hook), we really need to use an intrinsic
to catch this behaviour for i8/i16.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list