@@ -874,7 +874,7 @@ define half @h1(half (half)* nocapture %hptr) "cmse_nonsecure_entry" nounwind {
874
874
; CHECK-MVE-NEXT: vstr fpcxtns, [sp, #-4]!
875
875
; CHECK-MVE-NEXT: push {r7, lr}
876
876
; CHECK-MVE-NEXT: sub sp, #4
877
- ; CHECK-MVE-NEXT: vldr s0, .LCPI11_0
877
+ ; CHECK-MVE-NEXT: vmov.f16 s0, #1.000000e+01
878
878
; CHECK-MVE-NEXT: blx r0
879
879
; CHECK-MVE-NEXT: vmov.f16 r0, s0
880
880
; CHECK-MVE-NEXT: vmov s0, r0
@@ -884,10 +884,6 @@ define half @h1(half (half)* nocapture %hptr) "cmse_nonsecure_entry" nounwind {
884
884
; CHECK-MVE-NEXT: vldr fpcxtns, [sp], #4
885
885
; CHECK-MVE-NEXT: clrm {r0, r1, r2, r3, r12, apsr}
886
886
; CHECK-MVE-NEXT: bxns lr
887
- ; CHECK-MVE-NEXT: .p2align 2
888
- ; CHECK-MVE-NEXT: @ %bb.1:
889
- ; CHECK-MVE-NEXT: .LCPI11_0:
890
- ; CHECK-MVE-NEXT: .long 0x00004900 @ float 2.61874657E-41
891
887
%call = call half %hptr (half 10 .0 ) nounwind
892
888
ret half %call
893
889
}
@@ -931,25 +927,41 @@ define half @h2(half (half)* nocapture %hptr) nounwind {
931
927
; CHECK-8M-NEXT: .LCPI12_0:
932
928
; CHECK-8M-NEXT: .long 0x00004900 @ float 2.61874657E-41
933
929
;
934
- ; CHECK-81M-LABEL: h2:
935
- ; CHECK-81M: @ %bb.0: @ %entry
936
- ; CHECK-81M-NEXT: push {r7, lr}
937
- ; CHECK-81M-NEXT: vldr s0, .LCPI12_0
938
- ; CHECK-81M-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
939
- ; CHECK-81M-NEXT: bic r0, r0, #1
940
- ; CHECK-81M-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
941
- ; CHECK-81M-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
942
- ; CHECK-81M-NEXT: vstr fpcxts, [sp, #-8]!
943
- ; CHECK-81M-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
944
- ; CHECK-81M-NEXT: blxns r0
945
- ; CHECK-81M-NEXT: vldr fpcxts, [sp], #8
946
- ; CHECK-81M-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
947
- ; CHECK-81M-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
948
- ; CHECK-81M-NEXT: pop {r7, pc}
949
- ; CHECK-81M-NEXT: .p2align 2
950
- ; CHECK-81M-NEXT: @ %bb.1:
951
- ; CHECK-81M-NEXT: .LCPI12_0:
952
- ; CHECK-81M-NEXT: .long 0x00004900 @ float 2.61874657E-41
930
+ ; CHECK-NO-MVE-LABEL: h2:
931
+ ; CHECK-NO-MVE: @ %bb.0: @ %entry
932
+ ; CHECK-NO-MVE-NEXT: push {r7, lr}
933
+ ; CHECK-NO-MVE-NEXT: vldr s0, .LCPI12_0
934
+ ; CHECK-NO-MVE-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
935
+ ; CHECK-NO-MVE-NEXT: bic r0, r0, #1
936
+ ; CHECK-NO-MVE-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
937
+ ; CHECK-NO-MVE-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
938
+ ; CHECK-NO-MVE-NEXT: vstr fpcxts, [sp, #-8]!
939
+ ; CHECK-NO-MVE-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
940
+ ; CHECK-NO-MVE-NEXT: blxns r0
941
+ ; CHECK-NO-MVE-NEXT: vldr fpcxts, [sp], #8
942
+ ; CHECK-NO-MVE-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
943
+ ; CHECK-NO-MVE-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
944
+ ; CHECK-NO-MVE-NEXT: pop {r7, pc}
945
+ ; CHECK-NO-MVE-NEXT: .p2align 2
946
+ ; CHECK-NO-MVE-NEXT: @ %bb.1:
947
+ ; CHECK-NO-MVE-NEXT: .LCPI12_0:
948
+ ; CHECK-NO-MVE-NEXT: .long 0x00004900 @ float 2.61874657E-41
949
+ ;
950
+ ; CHECK-MVE-LABEL: h2:
951
+ ; CHECK-MVE: @ %bb.0: @ %entry
952
+ ; CHECK-MVE-NEXT: push {r7, lr}
953
+ ; CHECK-MVE-NEXT: vmov.f16 s0, #1.000000e+01
954
+ ; CHECK-MVE-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
955
+ ; CHECK-MVE-NEXT: bic r0, r0, #1
956
+ ; CHECK-MVE-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
957
+ ; CHECK-MVE-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
958
+ ; CHECK-MVE-NEXT: vstr fpcxts, [sp, #-8]!
959
+ ; CHECK-MVE-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
960
+ ; CHECK-MVE-NEXT: blxns r0
961
+ ; CHECK-MVE-NEXT: vldr fpcxts, [sp], #8
962
+ ; CHECK-MVE-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
963
+ ; CHECK-MVE-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
964
+ ; CHECK-MVE-NEXT: pop {r7, pc}
953
965
entry:
954
966
%call = call half %hptr (half 10 .0 ) "cmse_nonsecure_call" nounwind
955
967
ret half %call
@@ -994,25 +1006,41 @@ define half @h3(half (half)* nocapture %hptr) nounwind {
994
1006
; CHECK-8M-NEXT: .LCPI13_0:
995
1007
; CHECK-8M-NEXT: .long 0x00004900 @ float 2.61874657E-41
996
1008
;
997
- ; CHECK-81M-LABEL: h3:
998
- ; CHECK-81M: @ %bb.0: @ %entry
999
- ; CHECK-81M-NEXT: push {r7, lr}
1000
- ; CHECK-81M-NEXT: vldr s0, .LCPI13_0
1001
- ; CHECK-81M-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
1002
- ; CHECK-81M-NEXT: bic r0, r0, #1
1003
- ; CHECK-81M-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1004
- ; CHECK-81M-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
1005
- ; CHECK-81M-NEXT: vstr fpcxts, [sp, #-8]!
1006
- ; CHECK-81M-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
1007
- ; CHECK-81M-NEXT: blxns r0
1008
- ; CHECK-81M-NEXT: vldr fpcxts, [sp], #8
1009
- ; CHECK-81M-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1010
- ; CHECK-81M-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
1011
- ; CHECK-81M-NEXT: pop {r7, pc}
1012
- ; CHECK-81M-NEXT: .p2align 2
1013
- ; CHECK-81M-NEXT: @ %bb.1:
1014
- ; CHECK-81M-NEXT: .LCPI13_0:
1015
- ; CHECK-81M-NEXT: .long 0x00004900 @ float 2.61874657E-41
1009
+ ; CHECK-NO-MVE-LABEL: h3:
1010
+ ; CHECK-NO-MVE: @ %bb.0: @ %entry
1011
+ ; CHECK-NO-MVE-NEXT: push {r7, lr}
1012
+ ; CHECK-NO-MVE-NEXT: vldr s0, .LCPI13_0
1013
+ ; CHECK-NO-MVE-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
1014
+ ; CHECK-NO-MVE-NEXT: bic r0, r0, #1
1015
+ ; CHECK-NO-MVE-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1016
+ ; CHECK-NO-MVE-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
1017
+ ; CHECK-NO-MVE-NEXT: vstr fpcxts, [sp, #-8]!
1018
+ ; CHECK-NO-MVE-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
1019
+ ; CHECK-NO-MVE-NEXT: blxns r0
1020
+ ; CHECK-NO-MVE-NEXT: vldr fpcxts, [sp], #8
1021
+ ; CHECK-NO-MVE-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1022
+ ; CHECK-NO-MVE-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
1023
+ ; CHECK-NO-MVE-NEXT: pop {r7, pc}
1024
+ ; CHECK-NO-MVE-NEXT: .p2align 2
1025
+ ; CHECK-NO-MVE-NEXT: @ %bb.1:
1026
+ ; CHECK-NO-MVE-NEXT: .LCPI13_0:
1027
+ ; CHECK-NO-MVE-NEXT: .long 0x00004900 @ float 2.61874657E-41
1028
+ ;
1029
+ ; CHECK-MVE-LABEL: h3:
1030
+ ; CHECK-MVE: @ %bb.0: @ %entry
1031
+ ; CHECK-MVE-NEXT: push {r7, lr}
1032
+ ; CHECK-MVE-NEXT: vmov.f16 s0, #1.000000e+01
1033
+ ; CHECK-MVE-NEXT: push.w {r4, r5, r6, r7, r8, r9, r10, r11}
1034
+ ; CHECK-MVE-NEXT: bic r0, r0, #1
1035
+ ; CHECK-MVE-NEXT: vpush {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1036
+ ; CHECK-MVE-NEXT: vscclrm {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr}
1037
+ ; CHECK-MVE-NEXT: vstr fpcxts, [sp, #-8]!
1038
+ ; CHECK-MVE-NEXT: clrm {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, apsr}
1039
+ ; CHECK-MVE-NEXT: blxns r0
1040
+ ; CHECK-MVE-NEXT: vldr fpcxts, [sp], #8
1041
+ ; CHECK-MVE-NEXT: vpop {s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31}
1042
+ ; CHECK-MVE-NEXT: pop.w {r4, r5, r6, r7, r8, r9, r10, r11}
1043
+ ; CHECK-MVE-NEXT: pop {r7, pc}
1016
1044
entry:
1017
1045
%call = tail call half %hptr (half 10 .0 ) "cmse_nonsecure_call" nounwind
1018
1046
ret half %call
@@ -1123,7 +1151,7 @@ define half @h1_minsize(half (half)* nocapture %hptr) "cmse_nonsecure_entry" min
1123
1151
; CHECK-MVE: @ %bb.0: @ %entry
1124
1152
; CHECK-MVE-NEXT: vstr fpcxtns, [sp, #-4]!
1125
1153
; CHECK-MVE-NEXT: push {r6, r7, lr}
1126
- ; CHECK-MVE-NEXT: vldr s0, .LCPI15_0
1154
+ ; CHECK-MVE-NEXT: vmov.f16 s0, #1.000000e+01
1127
1155
; CHECK-MVE-NEXT: blx r0
1128
1156
; CHECK-MVE-NEXT: vmov.f16 r0, s0
1129
1157
; CHECK-MVE-NEXT: vmov s0, r0
@@ -1132,10 +1160,6 @@ define half @h1_minsize(half (half)* nocapture %hptr) "cmse_nonsecure_entry" min
1132
1160
; CHECK-MVE-NEXT: vldr fpcxtns, [sp], #4
1133
1161
; CHECK-MVE-NEXT: clrm {r0, r1, r2, r3, r12, apsr}
1134
1162
; CHECK-MVE-NEXT: bxns lr
1135
- ; CHECK-MVE-NEXT: .p2align 2
1136
- ; CHECK-MVE-NEXT: @ %bb.1:
1137
- ; CHECK-MVE-NEXT: .LCPI15_0:
1138
- ; CHECK-MVE-NEXT: .long 0x00004900 @ float 2.61874657E-41
1139
1163
entry:
1140
1164
%call = call half %hptr (half 10 .0 ) nounwind
1141
1165
ret half %call
0 commit comments