.arch armv8.2-a .eabi_attribute 28, 1 .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 2 .eabi_attribute 30, 2 .eabi_attribute 34, 1 .eabi_attribute 38, 1 .eabi_attribute 18, 4 .file "armv8_2-fp16-move-1.c" .text .align 1 .p2align 2,,3 .global test_load_1 .arch armv8.2-a .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_load_1, %function test_load_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vld1.16 {d0[0]}, [r0] bx lr .size test_load_1, .-test_load_1 .align 1 .p2align 2,,3 .global test_load_2 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_load_2, %function test_load_2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. add r3, r0, r1, lsl #1 vld1.16 {d0[0]}, [r3] bx lr .size test_load_2, .-test_load_2 .align 1 .p2align 2,,3 .global test_store_1 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_store_1, %function test_store_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vst1.16 {d0[0]}, [r0] bx lr .size test_store_1, .-test_store_1 .align 1 .p2align 2,,3 .global test_store_2 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_store_2, %function test_store_2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vmov.f16 r3, s0 @ __fp16 strh r3, [r0, r1, lsl #1] @ __fp16 bx lr .size test_store_2, .-test_store_2 .align 1 .p2align 2,,3 .global test_load_store_1 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_load_store_1, %function test_load_store_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vmov.f16 s0, r3 @ __fp16 ldrh r3, [r2, r1, lsl #1] @ __fp16 strh r3, [r0, r1, lsl #1] @ __fp16 bx lr .size test_load_store_1, .-test_load_store_1 .align 1 .p2align 2,,3 .global test_load_store_2 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_load_store_2, %function test_load_store_2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. adds r1, r1, #2 add r0, r0, r1, lsl #1 ldrh r3, [r2, r1, lsl #1] @ __fp16 vmov.f16 s0, r3 @ __fp16 strh r3, [r0, #-4] @ __fp16 bx lr .size test_load_store_2, .-test_load_store_2 .align 1 .p2align 2,,3 .global test_select_1 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_1, %function test_select_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. cmp r0, #0 vseleq.f16 s0, s1, s0 bx lr .size test_select_1, .-test_select_1 .align 1 .p2align 2,,3 .global test_select_2 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_2, %function test_select_2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. cmp r0, #0 vseleq.f16 s0, s1, s0 bx lr .size test_select_2, .-test_select_2 .align 1 .p2align 2,,3 .global test_select_3 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_3, %function test_select_3: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s15, s0 vcvtb.f32.f16 s14, s1 vcmp.f32 s15, s14 vmrs APSR_nzcv, FPSCR vseleq.f16 s0, s1, s2 bx lr .size test_select_3, .-test_select_3 .align 1 .p2align 2,,3 .global test_select_4 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_4, %function test_select_4: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s15, s0 vcvtb.f32.f16 s14, s1 vcmp.f32 s15, s14 vmrs APSR_nzcv, FPSCR vseleq.f16 s0, s2, s1 bx lr .size test_select_4, .-test_select_4 .align 1 .p2align 2,,3 .global test_select_5 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_5, %function test_select_5: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s14, s1 vmov s15, s1 @ __fp16 vcmpe.f32 s0, s14 vmrs APSR_nzcv, FPSCR bmi .L17 vmov s15, s2 @ __fp16 .L17: vmov s0, s15 @ __fp16 bx lr .size test_select_5, .-test_select_5 .align 1 .p2align 2,,3 .global test_select_6 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_6, %function test_select_6: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s14, s1 vmov s15, s1 @ __fp16 vcmpe.f32 s0, s14 vmrs APSR_nzcv, FPSCR bls .L19 vmov s15, s2 @ __fp16 .L19: vmov s0, s15 @ __fp16 bx lr .size test_select_6, .-test_select_6 .align 1 .p2align 2,,3 .global test_select_7 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_7, %function test_select_7: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s15, s0 vcvtb.f32.f16 s14, s1 vcmpe.f32 s15, s14 vmrs APSR_nzcv, FPSCR vselgt.f16 s0, s1, s2 bx lr .size test_select_7, .-test_select_7 .align 1 .p2align 2,,3 .global test_select_8 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_select_8, %function test_select_8: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s15, s0 vcvtb.f32.f16 s14, s1 vcmpe.f32 s15, s14 vmrs APSR_nzcv, FPSCR vselge.f16 s0, s1, s2 bx lr .size test_select_8, .-test_select_8 .align 1 .p2align 2,,3 .global test_compare_1 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_1, %function test_compare_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmp.f32 s0, s1 vmrs APSR_nzcv, FPSCR it ne movne r0, #0 bx lr .size test_compare_1, .-test_compare_1 .align 1 .p2align 2,,3 .global test_compare_ .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_, %function test_compare_: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmp.f32 s0, s1 vmrs APSR_nzcv, FPSCR it eq moveq r0, #0 bx lr .size test_compare_, .-test_compare_ .align 1 .p2align 2,,3 .global test_compare_2 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_2, %function test_compare_2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmpe.f32 s0, s1 vmrs APSR_nzcv, FPSCR it le movle r0, #0 bx lr .size test_compare_2, .-test_compare_2 .align 1 .p2align 2,,3 .global test_compare_3 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_3, %function test_compare_3: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmpe.f32 s0, s1 vmrs APSR_nzcv, FPSCR it lt movlt r0, #0 bx lr .size test_compare_3, .-test_compare_3 .align 1 .p2align 2,,3 .global test_compare_4 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_4, %function test_compare_4: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmpe.f32 s0, s1 vmrs APSR_nzcv, FPSCR it pl movpl r0, #0 bx lr .size test_compare_4, .-test_compare_4 .align 1 .p2align 2,,3 .global test_compare_5 .syntax unified .thumb .thumb_func .fpu fp-armv8 .type test_compare_5, %function test_compare_5: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vcvtb.f32.f16 s0, s0 vcvtb.f32.f16 s1, s1 mov r0, #-1 vcmpe.f32 s0, s1 vmrs APSR_nzcv, FPSCR it hi movhi r0, #0 bx lr .size test_compare_5, .-test_compare_5 .section .note.GNU-stack,"",%progbits