Anastasia added a comment.

Yes, I see that it happens only for some vector types. The CodeGen follows 
quite different paths for both targets. And in the case of s390x-linux-gnu it 
ends up in ABIArgInfo::Indirect case of the second switch statement where an 
additional pointer will be added here:

  ArgTypes[FirstIRArg] = LTy->getPointerTo();

I don't have enough knowledge at the moment of this ABI to tell whether it's 
Ok, but the generated code appears to be completely wrong.

As a temporary workaround to fix your build bot, I suggest you to add '-triple 
x86_64-linux-gnu' into RUN line of the test:

  -// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -o - %s | FileCheck %s
  +// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -o - -triple 
x86_64-linux-gnu %s | FileCheck %s

It has already been done before in OpenCL tests as we don't support most of 
targets anyways.

In the meantime, I will try to see if there could be a better fix for this.


http://reviews.llvm.org/D15603



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to