Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 -triple hexagon-unknown-elf -target-feature +hvx -emit-llvm -o - %s | FileCheck %s
      2 
      3 typedef int v64 __attribute__((__vector_size__(64)))
      4     __attribute__((aligned(64)));
      5 
      6 int g;
      7 
      8 void foo(v64 v0, v64 v1, v64 *p) {
      9   int r;
     10   v64 q0;
     11   asm ("%0 = vgtw(%1.w,%2.w)" : "=q"(q0) : "v"(v0), "v"(v1));
     12 // CHECK: call <16 x i32> asm "$0 = vgtw($1.w,$2.w)", "=q,v,v"(<16 x i32>{{.*}}, <16 x i32>{{.*}})
     13   *p = q0;
     14 
     15   asm ("%0 = memw(##%1)" : "=r"(r) : "s"(&g));
     16 // CHECK: call i32 asm "$0 = memw(##$1)", "=r,s"(i32* @g)
     17 }
     18