[cfe-commits] cfe-commits Digest, Vol 55, Issue 164

Anton Lokhmotov Anton.Lokhmotov at arm.com
Wed Jan 18 07:07:54 PST 2012


> > +      // Handle vector types.
> > +      // Vector logical not returns the signed variant of the operand
> > type.

> The first comment line is not superfluous.

Sorry, IS superfluous (i.e. NOT needed).

Another nit-pick: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?r1=148254&r2=148253&pathrev=148254

+  QualType GetSignedVectorType(QualType V);
   QualType CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS,
                                       SourceLocation Loc, bool isRelational);
+  QualType CheckVectorLogicalOperands(ExprResult LHS, ExprResult RHS,
+                                      SourceLocation Loc);

I can't check this at the moment, but is there any reason why CheckVectorLogicalOperands can't receive its parameters by reference?

Thanks,
Anton.

________________________________________
From: Anton Lokhmotov [Anton.Lokhmotov at arm.com]
Sent: 18 January 2012 12:58
To: 'Tanya Lattner'
Cc: cfe-commits at cs.uiuc.edu; Eli Friedman
Subject: RE: cfe-commits Digest, Vol 55, Issue 164

Hi Tanya,

> +    }
> +    else if (resultType->isExtVectorType()) {

Eli has also noticed that 'else if' should have been on the previous line.

> +      // Handle vector types.
> +      // Vector logical not returns the signed variant of the operand
> type.

The first comment line is not superfluous.

Could you please also add the test below?

Many thanks,
Anton.


diff --git a/test/CodeGenOpenCL/vector_logops.cl b/test/CodeGenOpenCL/vector_logops.cl
new file mode 100644
index 0000000..35425bd
--- /dev/null
+++ b/test/CodeGenOpenCL/vector_logops.cl
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -O3 %s -emit-llvm -o - | FileCheck %s
+
+typedef int int2 __attribute((ext_vector_type(2)));
+
+int test1()
+{
+  int2 a = (int2)(1,0);
+  int2 b = (int2)(1,1);
+  return (a&&b).x + (a||b).y;
+  // CHECK: ret i32 -2
+}
+
+int test2()
+{
+  int2 a = (int2)(1,0);
+  return (!a).y;
+  // CHECK: ret i32 -1
+}
+

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.





More information about the cfe-commits mailing list