#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ __builtin_arm_cdp(int, int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_cdp2(int, int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_ldc(int, int, int *);
int /*<<< orphan*/ __builtin_arm_ldc2(int, int, int *);
int /*<<< orphan*/ __builtin_arm_ldc2l(int, int, int *);
int /*<<< orphan*/ __builtin_arm_ldcl(int, int, int *);
int /*<<< orphan*/ __builtin_arm_mcr(int, int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mcr2(int, int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mcrr(int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mcrr2(int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mrc(int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mrc2(int, int, int, int, int);
int /*<<< orphan*/ __builtin_arm_mrrc(int, int, int);
int /*<<< orphan*/ __builtin_arm_mrrc2(int, int, int);
int /*<<< orphan*/ __builtin_arm_stc(int, int, int *);
int /*<<< orphan*/ __builtin_arm_stc2(int, int, int *);
int /*<<< orphan*/ __builtin_arm_stc2l(int, int, int *);
int /*<<< orphan*/ __builtin_arm_stcl(int, int, int *);
void test6(int a, int b, int c) {
  __builtin_arm_ldc(1, 2, &a);
  __builtin_arm_ldc(a, 2, &a);
  __builtin_arm_ldc(1, a, &a);
  __builtin_arm_ldcl(1, 2, &a);
  __builtin_arm_ldcl(a, 2, &a);
  __builtin_arm_ldcl(1, a, &a);
  __builtin_arm_ldc2(1, 2, &a);
  __builtin_arm_ldc2(a, 2, &a);
  __builtin_arm_ldc2(1, a, &a);
  __builtin_arm_ldc2l(1, 2, &a);
  __builtin_arm_ldc2l(a, 2, &a);
  __builtin_arm_ldc2l(1, a, &a);
  __builtin_arm_stc(1, 2, &a);
  __builtin_arm_stc(a, 2, &a);
  __builtin_arm_stc(1, a, &a);
  __builtin_arm_stcl(1, 2, &a);
  __builtin_arm_stcl(a, 2, &a);
  __builtin_arm_stcl(1, a, &a);
  __builtin_arm_stc2(1, 2, &a);
  __builtin_arm_stc2(a, 2, &a);
  __builtin_arm_stc2(1, a, &a);
  __builtin_arm_stc2l(1, 2, &a);
  __builtin_arm_stc2l(a, 2, &a);
  __builtin_arm_stc2l(1, a, &a);
  __builtin_arm_cdp(a, 2, 3, 4, 5, 6);
  __builtin_arm_cdp(1, a, 3, 4, 5, 6);
  __builtin_arm_cdp(1, 2, a, 4, 5, 6);
  __builtin_arm_cdp(1, 2, 3, a, 5, 6);
  __builtin_arm_cdp(1, 2, 3, 4, 5, a);
  __builtin_arm_cdp2(a, 2, 3, 4, 5, 6);
  __builtin_arm_cdp2(1, a, 3, 4, 5, 6);
  __builtin_arm_cdp2(1, 2, a, 4, 5, 6);
  __builtin_arm_cdp2(1, 2, 3, a, 5, 6);
  __builtin_arm_cdp2(1, 2, 3, 4, 5, a);
  __builtin_arm_mrc(a, 0, 13, 0, 3);
  __builtin_arm_mrc(15, a, 13, 0, 3);
  __builtin_arm_mrc(15, 0, a, 0, 3);
  __builtin_arm_mrc(15, 0, 13, a, 3);
  __builtin_arm_mrc(15, 0, 13, 0, a);
  __builtin_arm_mrc2(a, 0, 13, 0, 3);
  __builtin_arm_mrc2(15, a, 13, 0, 3);
  __builtin_arm_mrc2(15, 0, a, 0, 3);
  __builtin_arm_mrc2(15, 0, 13, a, 3);
  __builtin_arm_mrc2(15, 0, 13, 0, a);
  __builtin_arm_mcr(a, 0, b, 13, 0, 3);
  __builtin_arm_mcr(15, a, b, 13, 0, 3);
  __builtin_arm_mcr(15, 0, b, a, 0, 3);
  __builtin_arm_mcr(15, 0, b, 13, a, 3);
  __builtin_arm_mcr(15, 0, b, 13, 0, a);
  __builtin_arm_mcr2(a, 0, b, 13, 0, 3);
  __builtin_arm_mcr2(15, a, b, 13, 0, 3);
  __builtin_arm_mcr2(15, 0, b, a, 0, 3);
  __builtin_arm_mcr2(15, 0, b, 13, a, 3);
  __builtin_arm_mcr2(15, 0, b, 13, 0, a);
  __builtin_arm_mcrr(15, 0, b, 0);
  __builtin_arm_mcrr(a, 0, b, 0);
  __builtin_arm_mcrr(15, a, b, 0);
  __builtin_arm_mcrr(15, 0, b, a);
  __builtin_arm_mcrr2(15, 0, b, 0);
  __builtin_arm_mcrr2(a, 0, b, 0);
  __builtin_arm_mcrr2(15, a, b, 0);
  __builtin_arm_mcrr2(15, 0, b, a);
  __builtin_arm_mrrc(15, 0, 0);
  __builtin_arm_mrrc(a, 0, 0);
  __builtin_arm_mrrc(15, a, 0);
  __builtin_arm_mrrc(15, 0, a);
  __builtin_arm_mrrc2(15, 0, 0);
  __builtin_arm_mrrc2(a, 0, 0);
  __builtin_arm_mrrc2(15, a, 0);
  __builtin_arm_mrrc2(15, 0, a);
}


x86 assembly (clang, -O0):
<test6>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1140 <__builtin_arm_stc@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   1140 <__builtin_arm_stc@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   1140 <__builtin_arm_stc@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    $0x1,%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
lea    -0x4(%rbp),%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
lea    -0x4(%rbp),%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    -0x4(%rbp),%edx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    -0x4(%rbp),%ecx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    -0x4(%rbp),%r9d
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
call   1100 <__builtin_arm_cdp@plt>
mov    -0x4(%rbp),%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    -0x4(%rbp),%esi
mov    $0x1,%edi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    -0x4(%rbp),%edx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    -0x4(%rbp),%ecx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    -0x4(%rbp),%r9d
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
call   1090 <__builtin_arm_cdp2@plt>
mov    -0x4(%rbp),%edi
xor    %ecx,%ecx
mov    $0xd,%edx
mov    $0x3,%r8d
mov    %ecx,%esi
call   1130 <__builtin_arm_mrc@plt>
mov    -0x4(%rbp),%esi
mov    $0xf,%edi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    -0x4(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
mov    $0x3,%r8d
mov    %ecx,%esi
call   1130 <__builtin_arm_mrc@plt>
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    -0x4(%rbp),%r8d
mov    $0xf,%edi
xor    %ecx,%ecx
mov    $0xd,%edx
mov    %ecx,%esi
call   1130 <__builtin_arm_mrc@plt>
mov    -0x4(%rbp),%edi
xor    %ecx,%ecx
mov    $0xd,%edx
mov    $0x3,%r8d
mov    %ecx,%esi
call   10a0 <__builtin_arm_mrc2@plt>
mov    -0x4(%rbp),%esi
mov    $0xf,%edi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    -0x4(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
mov    $0x3,%r8d
mov    %ecx,%esi
call   10a0 <__builtin_arm_mrc2@plt>
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    -0x4(%rbp),%r8d
mov    $0xf,%edi
xor    %ecx,%ecx
mov    $0xd,%edx
mov    %ecx,%esi
call   10a0 <__builtin_arm_mrc2@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%edx
xor    %r8d,%r8d
mov    $0xd,%ecx
mov    $0x3,%r9d
mov    %r8d,%esi
call   1040 <__builtin_arm_mcr@plt>
mov    -0x4(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %r8d,%r8d
mov    $0x3,%r9d
mov    %r8d,%esi
call   1040 <__builtin_arm_mcr@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%ecx
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%r9d
mov    $0xf,%edi
xor    %r8d,%r8d
mov    $0xd,%ecx
mov    %r8d,%esi
call   1040 <__builtin_arm_mcr@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%edx
xor    %r8d,%r8d
mov    $0xd,%ecx
mov    $0x3,%r9d
mov    %r8d,%esi
call   10b0 <__builtin_arm_mcr2@plt>
mov    -0x4(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %r8d,%r8d
mov    $0x3,%r9d
mov    %r8d,%esi
call   10b0 <__builtin_arm_mcr2@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%ecx
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%r9d
mov    $0xf,%edi
xor    %r8d,%r8d
mov    $0xd,%ecx
mov    %r8d,%esi
call   10b0 <__builtin_arm_mcr2@plt>
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
mov    %ecx,%esi
call   1110 <__builtin_arm_mcrr@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%edx
xor    %ecx,%ecx
mov    %ecx,%esi
call   1110 <__builtin_arm_mcrr@plt>
mov    -0x4(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
call   1110 <__builtin_arm_mcrr@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
call   1110 <__builtin_arm_mcrr@plt>
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
mov    %ecx,%esi
call   1120 <__builtin_arm_mcrr2@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%edx
xor    %ecx,%ecx
mov    %ecx,%esi
call   1120 <__builtin_arm_mcrr2@plt>
mov    -0x4(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    $0xf,%edi
xor    %ecx,%ecx
call   1120 <__builtin_arm_mcrr2@plt>
mov    -0x8(%rbp),%edx
mov    -0x4(%rbp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
call   1120 <__builtin_arm_mcrr2@plt>
mov    $0xf,%edi
xor    %edx,%edx
mov    %edx,%esi
call   10f0 <__builtin_arm_mrrc@plt>
mov    -0x4(%rbp),%edi
xor    %edx,%edx
mov    %edx,%esi
call   10f0 <__builtin_arm_mrrc@plt>
mov    -0x4(%rbp),%esi
mov    $0xf,%edi
xor    %edx,%edx
call   10f0 <__builtin_arm_mrrc@plt>
mov    -0x4(%rbp),%edx
mov    $0xf,%edi
xor    %esi,%esi
call   10f0 <__builtin_arm_mrrc@plt>
mov    $0xf,%edi
xor    %edx,%edx
mov    %edx,%esi
call   1080 <__builtin_arm_mrrc2@plt>
mov    -0x4(%rbp),%edi
xor    %edx,%edx
mov    %edx,%esi
call   1080 <__builtin_arm_mrrc2@plt>
mov    -0x4(%rbp),%esi
mov    $0xf,%edi
xor    %edx,%edx
call   1080 <__builtin_arm_mrrc2@plt>
mov    -0x4(%rbp),%edx
mov    $0xf,%edi
xor    %esi,%esi
call   1080 <__builtin_arm_mrrc2@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test6>:
push   %rbp
push   %rbx
push   %rax
mov    %esi,%ebp
mov    %edi,0x4(%rsp)
lea    0x4(%rsp),%rbx
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   1050 <__builtin_arm_ldc@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   1060 <__builtin_arm_ldcl@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   1070 <__builtin_arm_ldc2@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   1030 <__builtin_arm_ldc2l@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1140 <__builtin_arm_stc@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   1140 <__builtin_arm_stc@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   1140 <__builtin_arm_stc@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   10c0 <__builtin_arm_stcl@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   10e0 <__builtin_arm_stc2@plt>
mov    $0x1,%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    %rbx,%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    %rbx,%rdx
call   10d0 <__builtin_arm_stc2l@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    0x4(%rsp),%edx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    0x4(%rsp),%ecx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1100 <__builtin_arm_cdp@plt>
mov    0x4(%rsp),%r9d
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
call   1100 <__builtin_arm_cdp@plt>
mov    0x4(%rsp),%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    0x4(%rsp),%esi
mov    $0x1,%edi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    0x4(%rsp),%edx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x4,%ecx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    0x4(%rsp),%ecx
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1090 <__builtin_arm_cdp2@plt>
mov    0x4(%rsp),%r9d
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x3,%edx
mov    $0x4,%ecx
mov    $0x5,%r8d
call   1090 <__builtin_arm_cdp2@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    0x4(%rsp),%edx
mov    $0xf,%edi
xor    %esi,%esi
xor    %ecx,%ecx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
mov    $0x3,%r8d
call   1130 <__builtin_arm_mrc@plt>
mov    0x4(%rsp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
xor    %ecx,%ecx
call   1130 <__builtin_arm_mrc@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    $0xd,%edx
xor    %ecx,%ecx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    0x4(%rsp),%edx
mov    $0xf,%edi
xor    %esi,%esi
xor    %ecx,%ecx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
mov    $0x3,%r8d
call   10a0 <__builtin_arm_mrc2@plt>
mov    0x4(%rsp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    $0xd,%edx
xor    %ecx,%ecx
call   10a0 <__builtin_arm_mrc2@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    0x4(%rsp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
mov    $0x3,%r9d
call   1040 <__builtin_arm_mcr@plt>
mov    0x4(%rsp),%r9d
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
call   1040 <__builtin_arm_mcr@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %r8d,%r8d
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    0x4(%rsp),%r8d
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
mov    $0x3,%r9d
call   10b0 <__builtin_arm_mcr2@plt>
mov    0x4(%rsp),%r9d
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
mov    $0xd,%ecx
xor    %r8d,%r8d
call   10b0 <__builtin_arm_mcr2@plt>
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1110 <__builtin_arm_mcrr@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1110 <__builtin_arm_mcrr@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1110 <__builtin_arm_mcrr@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
call   1110 <__builtin_arm_mcrr@plt>
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1120 <__builtin_arm_mcrr2@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1120 <__builtin_arm_mcrr2@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
mov    %ebp,%edx
xor    %ecx,%ecx
call   1120 <__builtin_arm_mcrr2@plt>
mov    0x4(%rsp),%ecx
mov    $0xf,%edi
xor    %esi,%esi
mov    %ebp,%edx
call   1120 <__builtin_arm_mcrr2@plt>
mov    $0xf,%edi
xor    %esi,%esi
xor    %edx,%edx
call   10f0 <__builtin_arm_mrrc@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
xor    %edx,%edx
call   10f0 <__builtin_arm_mrrc@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
xor    %edx,%edx
call   10f0 <__builtin_arm_mrrc@plt>
mov    0x4(%rsp),%edx
mov    $0xf,%edi
xor    %esi,%esi
call   10f0 <__builtin_arm_mrrc@plt>
mov    $0xf,%edi
xor    %esi,%esi
xor    %edx,%edx
call   1080 <__builtin_arm_mrrc2@plt>
mov    0x4(%rsp),%edi
xor    %esi,%esi
xor    %edx,%edx
call   1080 <__builtin_arm_mrrc2@plt>
mov    0x4(%rsp),%esi
mov    $0xf,%edi
xor    %edx,%edx
call   1080 <__builtin_arm_mrrc2@plt>
mov    0x4(%rsp),%edx
mov    $0xf,%edi
xor    %esi,%esi
call   1080 <__builtin_arm_mrrc2@plt>
add    $0x8,%rsp
pop    %rbx
pop    %rbp
ret

LLVM IR (-O0):
define void @test6(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%7 = call i32 @__builtin_arm_ldc(i32 1, i32 2, i32* %4)
%8 = load i32, i32* %4
%9 = call i32 @__builtin_arm_ldc(i32 %8, i32 2, i32* %4)
%10 = load i32, i32* %4
%11 = call i32 @__builtin_arm_ldc(i32 1, i32 %10, i32* %4)
%12 = call i32 @__builtin_arm_ldcl(i32 1, i32 2, i32* %4)
%13 = load i32, i32* %4
%14 = call i32 @__builtin_arm_ldcl(i32 %13, i32 2, i32* %4)
%15 = load i32, i32* %4
%16 = call i32 @__builtin_arm_ldcl(i32 1, i32 %15, i32* %4)
%17 = call i32 @__builtin_arm_ldc2(i32 1, i32 2, i32* %4)
%18 = load i32, i32* %4
%19 = call i32 @__builtin_arm_ldc2(i32 %18, i32 2, i32* %4)
%20 = load i32, i32* %4
%21 = call i32 @__builtin_arm_ldc2(i32 1, i32 %20, i32* %4)
%22 = call i32 @__builtin_arm_ldc2l(i32 1, i32 2, i32* %4)
%23 = load i32, i32* %4
%24 = call i32 @__builtin_arm_ldc2l(i32 %23, i32 2, i32* %4)
%25 = load i32, i32* %4
%26 = call i32 @__builtin_arm_ldc2l(i32 1, i32 %25, i32* %4)
%27 = call i32 @__builtin_arm_stc(i32 1, i32 2, i32* %4)
%28 = load i32, i32* %4
%29 = call i32 @__builtin_arm_stc(i32 %28, i32 2, i32* %4)
%30 = load i32, i32* %4
%31 = call i32 @__builtin_arm_stc(i32 1, i32 %30, i32* %4)
%32 = call i32 @__builtin_arm_stcl(i32 1, i32 2, i32* %4)
%33 = load i32, i32* %4
%34 = call i32 @__builtin_arm_stcl(i32 %33, i32 2, i32* %4)
%35 = load i32, i32* %4
%36 = call i32 @__builtin_arm_stcl(i32 1, i32 %35, i32* %4)
%37 = call i32 @__builtin_arm_stc2(i32 1, i32 2, i32* %4)
%38 = load i32, i32* %4
%39 = call i32 @__builtin_arm_stc2(i32 %38, i32 2, i32* %4)
%40 = load i32, i32* %4
%41 = call i32 @__builtin_arm_stc2(i32 1, i32 %40, i32* %4)
%42 = call i32 @__builtin_arm_stc2l(i32 1, i32 2, i32* %4)
%43 = load i32, i32* %4
%44 = call i32 @__builtin_arm_stc2l(i32 %43, i32 2, i32* %4)
%45 = load i32, i32* %4
%46 = call i32 @__builtin_arm_stc2l(i32 1, i32 %45, i32* %4)
%47 = load i32, i32* %4
%48 = call i32 @__builtin_arm_cdp(i32 %47, i32 2, i32 3, i32 4, i32 5, i32 6)
%49 = load i32, i32* %4
%50 = call i32 @__builtin_arm_cdp(i32 1, i32 %49, i32 3, i32 4, i32 5, i32 6)
%51 = load i32, i32* %4
%52 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 %51, i32 4, i32 5, i32 6)
%53 = load i32, i32* %4
%54 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 3, i32 %53, i32 5, i32 6)
%55 = load i32, i32* %4
%56 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 3, i32 4, i32 5, i32 %55)
%57 = load i32, i32* %4
%58 = call i32 @__builtin_arm_cdp2(i32 %57, i32 2, i32 3, i32 4, i32 5, i32 6)
%59 = load i32, i32* %4
%60 = call i32 @__builtin_arm_cdp2(i32 1, i32 %59, i32 3, i32 4, i32 5, i32 6)
%61 = load i32, i32* %4
%62 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 %61, i32 4, i32 5, i32 6)
%63 = load i32, i32* %4
%64 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 3, i32 %63, i32 5, i32 6)
%65 = load i32, i32* %4
%66 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 3, i32 4, i32 5, i32 %65)
%67 = load i32, i32* %4
%68 = call i32 @__builtin_arm_mrc(i32 %67, i32 0, i32 13, i32 0, i32 3)
%69 = load i32, i32* %4
%70 = call i32 @__builtin_arm_mrc(i32 15, i32 %69, i32 13, i32 0, i32 3)
%71 = load i32, i32* %4
%72 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 %71, i32 0, i32 3)
%73 = load i32, i32* %4
%74 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 13, i32 %73, i32 3)
%75 = load i32, i32* %4
%76 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 13, i32 0, i32 %75)
%77 = load i32, i32* %4
%78 = call i32 @__builtin_arm_mrc2(i32 %77, i32 0, i32 13, i32 0, i32 3)
%79 = load i32, i32* %4
%80 = call i32 @__builtin_arm_mrc2(i32 15, i32 %79, i32 13, i32 0, i32 3)
%81 = load i32, i32* %4
%82 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 %81, i32 0, i32 3)
%83 = load i32, i32* %4
%84 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 13, i32 %83, i32 3)
%85 = load i32, i32* %4
%86 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 13, i32 0, i32 %85)
%87 = load i32, i32* %4
%88 = load i32, i32* %5
%89 = call i32 @__builtin_arm_mcr(i32 %87, i32 0, i32 %88, i32 13, i32 0, i32 3)
%90 = load i32, i32* %4
%91 = load i32, i32* %5
%92 = call i32 @__builtin_arm_mcr(i32 15, i32 %90, i32 %91, i32 13, i32 0, i32 3)
%93 = load i32, i32* %5
%94 = load i32, i32* %4
%95 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %93, i32 %94, i32 0, i32 3)
%96 = load i32, i32* %5
%97 = load i32, i32* %4
%98 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %96, i32 13, i32 %97, i32 3)
%99 = load i32, i32* %5
%100 = load i32, i32* %4
%101 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %99, i32 13, i32 0, i32 %100)
%102 = load i32, i32* %4
%103 = load i32, i32* %5
%104 = call i32 @__builtin_arm_mcr2(i32 %102, i32 0, i32 %103, i32 13, i32 0, i32 3)
%105 = load i32, i32* %4
%106 = load i32, i32* %5
%107 = call i32 @__builtin_arm_mcr2(i32 15, i32 %105, i32 %106, i32 13, i32 0, i32 3)
%108 = load i32, i32* %5
%109 = load i32, i32* %4
%110 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %108, i32 %109, i32 0, i32 3)
%111 = load i32, i32* %5
%112 = load i32, i32* %4
%113 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %111, i32 13, i32 %112, i32 3)
%114 = load i32, i32* %5
%115 = load i32, i32* %4
%116 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %114, i32 13, i32 0, i32 %115)
%117 = load i32, i32* %5
%118 = call i32 @__builtin_arm_mcrr(i32 15, i32 0, i32 %117, i32 0)
%119 = load i32, i32* %4
%120 = load i32, i32* %5
%121 = call i32 @__builtin_arm_mcrr(i32 %119, i32 0, i32 %120, i32 0)
%122 = load i32, i32* %4
%123 = load i32, i32* %5
%124 = call i32 @__builtin_arm_mcrr(i32 15, i32 %122, i32 %123, i32 0)
%125 = load i32, i32* %5
%126 = load i32, i32* %4
%127 = call i32 @__builtin_arm_mcrr(i32 15, i32 0, i32 %125, i32 %126)
%128 = load i32, i32* %5
%129 = call i32 @__builtin_arm_mcrr2(i32 15, i32 0, i32 %128, i32 0)
%130 = load i32, i32* %4
%131 = load i32, i32* %5
%132 = call i32 @__builtin_arm_mcrr2(i32 %130, i32 0, i32 %131, i32 0)
%133 = load i32, i32* %4
%134 = load i32, i32* %5
%135 = call i32 @__builtin_arm_mcrr2(i32 15, i32 %133, i32 %134, i32 0)
%136 = load i32, i32* %5
%137 = load i32, i32* %4
%138 = call i32 @__builtin_arm_mcrr2(i32 15, i32 0, i32 %136, i32 %137)
%139 = call i32 @__builtin_arm_mrrc(i32 15, i32 0, i32 0)
%140 = load i32, i32* %4
%141 = call i32 @__builtin_arm_mrrc(i32 %140, i32 0, i32 0)
%142 = load i32, i32* %4
%143 = call i32 @__builtin_arm_mrrc(i32 15, i32 %142, i32 0)
%144 = load i32, i32* %4
%145 = call i32 @__builtin_arm_mrrc(i32 15, i32 0, i32 %144)
%146 = call i32 @__builtin_arm_mrrc2(i32 15, i32 0, i32 0)
%147 = load i32, i32* %4
%148 = call i32 @__builtin_arm_mrrc2(i32 %147, i32 0, i32 0)
%149 = load i32, i32* %4
%150 = call i32 @__builtin_arm_mrrc2(i32 15, i32 %149, i32 0)
%151 = load i32, i32* %4
%152 = call i32 @__builtin_arm_mrrc2(i32 15, i32 0, i32 %151)
ret void
}

LLVM IR (-O2):
define void @test6(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
store i32 %0, i32* %4
%5 = call i32 @__builtin_arm_ldc(i32 1, i32 2, i32* %4)
%6 = load i32, i32* %4
%7 = call i32 @__builtin_arm_ldc(i32 %6, i32 2, i32* %4)
%8 = load i32, i32* %4
%9 = call i32 @__builtin_arm_ldc(i32 1, i32 %8, i32* %4)
%10 = call i32 @__builtin_arm_ldcl(i32 1, i32 2, i32* %4)
%11 = load i32, i32* %4
%12 = call i32 @__builtin_arm_ldcl(i32 %11, i32 2, i32* %4)
%13 = load i32, i32* %4
%14 = call i32 @__builtin_arm_ldcl(i32 1, i32 %13, i32* %4)
%15 = call i32 @__builtin_arm_ldc2(i32 1, i32 2, i32* %4)
%16 = load i32, i32* %4
%17 = call i32 @__builtin_arm_ldc2(i32 %16, i32 2, i32* %4)
%18 = load i32, i32* %4
%19 = call i32 @__builtin_arm_ldc2(i32 1, i32 %18, i32* %4)
%20 = call i32 @__builtin_arm_ldc2l(i32 1, i32 2, i32* %4)
%21 = load i32, i32* %4
%22 = call i32 @__builtin_arm_ldc2l(i32 %21, i32 2, i32* %4)
%23 = load i32, i32* %4
%24 = call i32 @__builtin_arm_ldc2l(i32 1, i32 %23, i32* %4)
%25 = call i32 @__builtin_arm_stc(i32 1, i32 2, i32* %4)
%26 = load i32, i32* %4
%27 = call i32 @__builtin_arm_stc(i32 %26, i32 2, i32* %4)
%28 = load i32, i32* %4
%29 = call i32 @__builtin_arm_stc(i32 1, i32 %28, i32* %4)
%30 = call i32 @__builtin_arm_stcl(i32 1, i32 2, i32* %4)
%31 = load i32, i32* %4
%32 = call i32 @__builtin_arm_stcl(i32 %31, i32 2, i32* %4)
%33 = load i32, i32* %4
%34 = call i32 @__builtin_arm_stcl(i32 1, i32 %33, i32* %4)
%35 = call i32 @__builtin_arm_stc2(i32 1, i32 2, i32* %4)
%36 = load i32, i32* %4
%37 = call i32 @__builtin_arm_stc2(i32 %36, i32 2, i32* %4)
%38 = load i32, i32* %4
%39 = call i32 @__builtin_arm_stc2(i32 1, i32 %38, i32* %4)
%40 = call i32 @__builtin_arm_stc2l(i32 1, i32 2, i32* %4)
%41 = load i32, i32* %4
%42 = call i32 @__builtin_arm_stc2l(i32 %41, i32 2, i32* %4)
%43 = load i32, i32* %4
%44 = call i32 @__builtin_arm_stc2l(i32 1, i32 %43, i32* %4)
%45 = load i32, i32* %4
%46 = call i32 @__builtin_arm_cdp(i32 %45, i32 2, i32 3, i32 4, i32 5, i32 6)
%47 = load i32, i32* %4
%48 = call i32 @__builtin_arm_cdp(i32 1, i32 %47, i32 3, i32 4, i32 5, i32 6)
%49 = load i32, i32* %4
%50 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 %49, i32 4, i32 5, i32 6)
%51 = load i32, i32* %4
%52 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 3, i32 %51, i32 5, i32 6)
%53 = load i32, i32* %4
%54 = call i32 @__builtin_arm_cdp(i32 1, i32 2, i32 3, i32 4, i32 5, i32 %53)
%55 = load i32, i32* %4
%56 = call i32 @__builtin_arm_cdp2(i32 %55, i32 2, i32 3, i32 4, i32 5, i32 6)
%57 = load i32, i32* %4
%58 = call i32 @__builtin_arm_cdp2(i32 1, i32 %57, i32 3, i32 4, i32 5, i32 6)
%59 = load i32, i32* %4
%60 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 %59, i32 4, i32 5, i32 6)
%61 = load i32, i32* %4
%62 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 3, i32 %61, i32 5, i32 6)
%63 = load i32, i32* %4
%64 = call i32 @__builtin_arm_cdp2(i32 1, i32 2, i32 3, i32 4, i32 5, i32 %63)
%65 = load i32, i32* %4
%66 = call i32 @__builtin_arm_mrc(i32 %65, i32 0, i32 13, i32 0, i32 3)
%67 = load i32, i32* %4
%68 = call i32 @__builtin_arm_mrc(i32 15, i32 %67, i32 13, i32 0, i32 3)
%69 = load i32, i32* %4
%70 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 %69, i32 0, i32 3)
%71 = load i32, i32* %4
%72 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 13, i32 %71, i32 3)
%73 = load i32, i32* %4
%74 = call i32 @__builtin_arm_mrc(i32 15, i32 0, i32 13, i32 0, i32 %73)
%75 = load i32, i32* %4
%76 = call i32 @__builtin_arm_mrc2(i32 %75, i32 0, i32 13, i32 0, i32 3)
%77 = load i32, i32* %4
%78 = call i32 @__builtin_arm_mrc2(i32 15, i32 %77, i32 13, i32 0, i32 3)
%79 = load i32, i32* %4
%80 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 %79, i32 0, i32 3)
%81 = load i32, i32* %4
%82 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 13, i32 %81, i32 3)
%83 = load i32, i32* %4
%84 = call i32 @__builtin_arm_mrc2(i32 15, i32 0, i32 13, i32 0, i32 %83)
%85 = load i32, i32* %4
%86 = call i32 @__builtin_arm_mcr(i32 %85, i32 0, i32 %1, i32 13, i32 0, i32 3)
%87 = load i32, i32* %4
%88 = call i32 @__builtin_arm_mcr(i32 15, i32 %87, i32 %1, i32 13, i32 0, i32 3)
%89 = load i32, i32* %4
%90 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %1, i32 %89, i32 0, i32 3)
%91 = load i32, i32* %4
%92 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %1, i32 13, i32 %91, i32 3)
%93 = load i32, i32* %4
%94 = call i32 @__builtin_arm_mcr(i32 15, i32 0, i32 %1, i32 13, i32 0, i32 %93)
%95 = load i32, i32* %4
%96 = call i32 @__builtin_arm_mcr2(i32 %95, i32 0, i32 %1, i32 13, i32 0, i32 3)
%97 = load i32, i32* %4
%98 = call i32 @__builtin_arm_mcr2(i32 15, i32 %97, i32 %1, i32 13, i32 0, i32 3)
%99 = load i32, i32* %4
%100 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %1, i32 %99, i32 0, i32 3)
%101 = load i32, i32* %4
%102 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %1, i32 13, i32 %101, i32 3)
%103 = load i32, i32* %4
%104 = call i32 @__builtin_arm_mcr2(i32 15, i32 0, i32 %1, i32 13, i32 0, i32 %103)
%105 = call i32 @__builtin_arm_mcrr(i32 15, i32 0, i32 %1, i32 0)
%106 = load i32, i32* %4
%107 = call i32 @__builtin_arm_mcrr(i32 %106, i32 0, i32 %1, i32 0)
%108 = load i32, i32* %4
%109 = call i32 @__builtin_arm_mcrr(i32 15, i32 %108, i32 %1, i32 0)
%110 = load i32, i32* %4
%111 = call i32 @__builtin_arm_mcrr(i32 15, i32 0, i32 %1, i32 %110)
%112 = call i32 @__builtin_arm_mcrr2(i32 15, i32 0, i32 %1, i32 0)
%113 = load i32, i32* %4
%114 = call i32 @__builtin_arm_mcrr2(i32 %113, i32 0, i32 %1, i32 0)
%115 = load i32, i32* %4
%116 = call i32 @__builtin_arm_mcrr2(i32 15, i32 %115, i32 %1, i32 0)
%117 = load i32, i32* %4
%118 = call i32 @__builtin_arm_mcrr2(i32 15, i32 0, i32 %1, i32 %117)
%119 = call i32 @__builtin_arm_mrrc(i32 15, i32 0, i32 0)
%120 = load i32, i32* %4
%121 = call i32 @__builtin_arm_mrrc(i32 %120, i32 0, i32 0)
%122 = load i32, i32* %4
%123 = call i32 @__builtin_arm_mrrc(i32 15, i32 %122, i32 0)
%124 = load i32, i32* %4
%125 = call i32 @__builtin_arm_mrrc(i32 15, i32 0, i32 %124)
%126 = call i32 @__builtin_arm_mrrc2(i32 15, i32 0, i32 0)
%127 = load i32, i32* %4
%128 = call i32 @__builtin_arm_mrrc2(i32 %127, i32 0, i32 0)
%129 = load i32, i32* %4
%130 = call i32 @__builtin_arm_mrrc2(i32 15, i32 %129, i32 0)
%131 = load i32, i32* %4
%132 = call i32 @__builtin_arm_mrrc2(i32 15, i32 0, i32 %131)
ret void
}