44// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +mte -target-feature +bti -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-MTE-BTI
55
66int __attribute__((target_clones ("lse+aes" , "sve2" ))) ftc (void ) { return 0 ; }
7- int __attribute__((target_clones ("sha2" , "sha2+memtag2 " , " default " ))) ftc_def (void ) { return 1 ; }
7+ int __attribute__((target_clones ("sha2" , "sha2+memtag " , " default " ))) ftc_def (void ) { return 1 ; }
88int __attribute__((target_clones ("sha2" , "default" ))) ftc_dup1 (void ) { return 2 ; }
99int __attribute__((target_clones ("fp" , "crc+dotprod" ))) ftc_dup2 (void ) { return 3 ; }
10- int __attribute__((target_clones ("memtag2 " , "bti" ))) ftc_dup3 (void ) { return 4 ; }
10+ int __attribute__((target_clones ("memtag " , "bti" ))) ftc_dup3 (void ) { return 4 ; }
1111int foo () {
1212 return ftc () + ftc_def () + ftc_dup1 () + ftc_dup2 () + ftc_dup3 ();
1313}
@@ -90,7 +90,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
9090//
9191//
9292// CHECK: Function Attrs: noinline nounwind optnone
93- // CHECK-LABEL: define {{[^@]+}}@ftc_def._Mmemtag2Msha2
93+ // CHECK-LABEL: define {{[^@]+}}@ftc_def._MmemtagMsha2
9494// CHECK-SAME: () #[[ATTR3:[0-9]+]] {
9595// CHECK-NEXT: entry:
9696// CHECK-NEXT: ret i32 1
@@ -105,7 +105,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
105105// CHECK-NEXT: [[TMP3:%.*]] = and i1 true, [[TMP2]]
106106// CHECK-NEXT: br i1 [[TMP3]], label [[RESOLVER_RETURN:%.*]], label [[RESOLVER_ELSE:%.*]]
107107// CHECK: resolver_return:
108- // CHECK-NEXT: ret ptr @ftc_def._Mmemtag2Msha2
108+ // CHECK-NEXT: ret ptr @ftc_def._MmemtagMsha2
109109// CHECK: resolver_else:
110110// CHECK-NEXT: [[TMP4:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
111111// CHECK-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 4096
@@ -176,7 +176,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
176176//
177177//
178178// CHECK: Function Attrs: noinline nounwind optnone
179- // CHECK-LABEL: define {{[^@]+}}@ftc_dup3._Mmemtag2
179+ // CHECK-LABEL: define {{[^@]+}}@ftc_dup3._Mmemtag
180180// CHECK-SAME: () #[[ATTR6:[0-9]+]] {
181181// CHECK-NEXT: entry:
182182// CHECK-NEXT: ret i32 4
@@ -206,7 +206,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
206206// CHECK-NEXT: [[TMP7:%.*]] = and i1 true, [[TMP6]]
207207// CHECK-NEXT: br i1 [[TMP7]], label [[RESOLVER_RETURN1:%.*]], label [[RESOLVER_ELSE2:%.*]]
208208// CHECK: resolver_return1:
209- // CHECK-NEXT: ret ptr @ftc_dup3._Mmemtag2
209+ // CHECK-NEXT: ret ptr @ftc_dup3._Mmemtag
210210// CHECK: resolver_else2:
211211// CHECK-NEXT: ret ptr @ftc_dup3.default
212212//
@@ -547,7 +547,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
547547//
548548//
549549// CHECK-MTE-BTI: Function Attrs: noinline nounwind optnone
550- // CHECK-MTE-BTI-LABEL: define {{[^@]+}}@ftc_def._Mmemtag2Msha2
550+ // CHECK-MTE-BTI-LABEL: define {{[^@]+}}@ftc_def._MmemtagMsha2
551551// CHECK-MTE-BTI-SAME: () #[[ATTR2]] {
552552// CHECK-MTE-BTI-NEXT: entry:
553553// CHECK-MTE-BTI-NEXT: ret i32 1
@@ -562,7 +562,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
562562// CHECK-MTE-BTI-NEXT: [[TMP3:%.*]] = and i1 true, [[TMP2]]
563563// CHECK-MTE-BTI-NEXT: br i1 [[TMP3]], label [[RESOLVER_RETURN:%.*]], label [[RESOLVER_ELSE:%.*]]
564564// CHECK-MTE-BTI: resolver_return:
565- // CHECK-MTE-BTI-NEXT: ret ptr @ftc_def._Mmemtag2Msha2
565+ // CHECK-MTE-BTI-NEXT: ret ptr @ftc_def._MmemtagMsha2
566566// CHECK-MTE-BTI: resolver_else:
567567// CHECK-MTE-BTI-NEXT: [[TMP4:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
568568// CHECK-MTE-BTI-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 4096
@@ -633,7 +633,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
633633//
634634//
635635// CHECK-MTE-BTI: Function Attrs: noinline nounwind optnone
636- // CHECK-MTE-BTI-LABEL: define {{[^@]+}}@ftc_dup3._Mmemtag2
636+ // CHECK-MTE-BTI-LABEL: define {{[^@]+}}@ftc_dup3._Mmemtag
637637// CHECK-MTE-BTI-SAME: () #[[ATTR5:[0-9]+]] {
638638// CHECK-MTE-BTI-NEXT: entry:
639639// CHECK-MTE-BTI-NEXT: ret i32 4
@@ -663,7 +663,7 @@ inline int __attribute__((target_clones("fp16", "sve2-bitperm+fcma", "default"))
663663// CHECK-MTE-BTI-NEXT: [[TMP7:%.*]] = and i1 true, [[TMP6]]
664664// CHECK-MTE-BTI-NEXT: br i1 [[TMP7]], label [[RESOLVER_RETURN1:%.*]], label [[RESOLVER_ELSE2:%.*]]
665665// CHECK-MTE-BTI: resolver_return1:
666- // CHECK-MTE-BTI-NEXT: ret ptr @ftc_dup3._Mmemtag2
666+ // CHECK-MTE-BTI-NEXT: ret ptr @ftc_dup3._Mmemtag
667667// CHECK-MTE-BTI: resolver_else2:
668668// CHECK-MTE-BTI-NEXT: ret ptr @ftc_dup3.default
669669//
0 commit comments