mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
bfb82efb28
The NoMovt feature prevents the use of MOVW/MOVT instructions on Cortex-M23 for performance reasons. These instructions are required for execute only code so NoMovt should be disabled when that option is enabled. Differential Revision: https://reviews.llvm.org/D52551 llvm-svn: 343302
25 lines
869 B
LLVM
25 lines
869 B
LLVM
; RUN: llc < %s -mtriple=thumbv7m -mattr=+execute-only %s -o - | FileCheck %s
|
|
; RUN: llc < %s -mtriple=thumbv8m.base -mattr=+execute-only %s -o - | FileCheck %s
|
|
; RUN: llc < %s -mtriple=thumbv8m.base -mcpu=cortex-m23 -mattr=+execute-only %s -o - | FileCheck %s
|
|
; RUN: llc < %s -mtriple=thumbv8m.main -mattr=+execute-only %s -o - | FileCheck %s
|
|
|
|
; CHECK: .section .text,"axy",%progbits,unique,0
|
|
; CHECK-NOT: .section
|
|
; CHECK-NOT: .text
|
|
; CHECK: .globl test_SectionForGlobal
|
|
; CHECK: .type test_SectionForGlobal,%function
|
|
define void @test_SectionForGlobal() {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
; CHECK: .section .test,"axy",%progbits
|
|
; CHECK-NOT: .section
|
|
; CHECK-NOT: .text
|
|
; CHECK: .globl test_ExplicitSectionForGlobal
|
|
; CHECK: .type test_ExplicitSectionForGlobal,%function
|
|
define void @test_ExplicitSectionForGlobal() section ".test" {
|
|
entry:
|
|
ret void
|
|
}
|