mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
418299d811
Under --target=aarch64-fuchsia, -mcmodel=kernel has the effect of (the default) -mcmodel=small plus -mtp=el1 (which did not exist when this behavior was added). Fuchsia's kernel now uses -mtp=el1 directly instead of -mcmodel=kernel, so remove this special support. Patch By: mcgrathr Differential Revision: https://reviews.llvm.org/D73409
22 lines
824 B
LLVM
22 lines
824 B
LLVM
; RUN: llc < %s -mtriple=aarch64-linux-gnu | FileCheck %s
|
|
; RUN: llc < %s -mtriple=aarch64-fuchsia | FileCheck %s
|
|
; RUN: llc < %s -mtriple=aarch64-linux-gnu -mattr=+tpidr-el1 | FileCheck --check-prefix=USEEL1 %s
|
|
; RUN: llc < %s -mtriple=aarch64-linux-gnu -mattr=+tpidr-el2 | FileCheck --check-prefix=USEEL2 %s
|
|
; RUN: llc < %s -mtriple=aarch64-linux-gnu -mattr=+tpidr-el3 | FileCheck --check-prefix=USEEL3 %s
|
|
|
|
; Function Attrs: nounwind readnone
|
|
declare i8* @llvm.thread.pointer() #1
|
|
|
|
define i8* @thread_pointer() {
|
|
; CHECK: thread_pointer:
|
|
; CHECK: mrs {{x[0-9]+}}, TPIDR_EL0
|
|
; USEEL1: thread_pointer:
|
|
; USEEL1: mrs {{x[0-9]+}}, TPIDR_EL1
|
|
; USEEL2: thread_pointer:
|
|
; USEEL2: mrs {{x[0-9]+}}, TPIDR_EL2
|
|
; USEEL3: thread_pointer:
|
|
; USEEL3: mrs {{x[0-9]+}}, TPIDR_EL3
|
|
%1 = tail call i8* @llvm.thread.pointer()
|
|
ret i8* %1
|
|
}
|