<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Assembly instructions "adrl, cpy, vmrs, vmsr" doesn't supported by Clang"
href="https://bugs.llvm.org/show_bug.cgi?id=42582">42582</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Assembly instructions "adrl, cpy, vmrs, vmsr" doesn't supported by Clang
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>8.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>-New Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>qwertytmp1@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=22224" name="attach_22224" title="Test to reproduce situation">attachment 22224</a> <a href="attachment.cgi?id=22224&action=edit" title="Test to reproduce situation">[details]</a></span>
Test to reproduce situation
Assembly instructions "adrl, cpy, vmrs, vmsr" don't supported by Clang.
At the same time, they are supported by GCC.
Environment information:
OS: Ubuntu 16.04.5 LTS
GCC: arm-linux-gnueabihf-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016
CLANG: clang version 8.0.0 (tags/RELEASE_800/final)
Usecase is attached to this report. Also it is duplicated below in this text:
adrl_cpy_vmrs_vmsr.s
```
add:
adrl r0, add
cpy r0, r1
VMRS r2,FPEXC
VMSR FPEXC,r2
```
adrl_cpy_vmrs_vmsr.sh
```
#!/bin/bash
COMPILER_GCC=/opt/toolchains/aarch32/bin/arm-linux-gnueabihf-gcc
COMPILER_CLANG=opt/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/arm-funnyos-gnueabi-clang
i=adrl_cpy_vmrs_vmsr;
echo "======================================================================"
echo "Building by GCC";
echo "======================================================================"
${COMPILER_GCC} -c $i.s;
RESULT=$?
echo "----------------------------------------------------------------------"
echo "Build result: $RESULT";
echo "----------------------------------------------------------------------"
echo "";
echo "";
echo "======================================================================"
echo "Building by CLANG";
echo "======================================================================"
${COMPILER_CLANG} -c $i.s;
RESULT=$?
echo "----------------------------------------------------------------------"
echo "Build result: $RESULT";
echo "----------------------------------------------------------------------"
echo "";
echo "";
```
Result of "adrl_cpy_vmrs_vmsr.sh" execution:
```
$ ./adrl_cpy_vmrs_vmsr.sh
======================================================================
Building by GCC
======================================================================
----------------------------------------------------------------------
Build result: 0
----------------------------------------------------------------------
======================================================================
Building by CLANG
======================================================================
adrl_cpy_vmrs_vmsr.s:2:1: error: invalid instruction, did you mean: adr?
adrl r0, add
^
adrl_cpy_vmrs_vmsr.s:3:1: error: invalid instruction, did you mean: cdp, cmp,
cps?
cpy r0, r1
^
adrl_cpy_vmrs_vmsr.s:4:1: error: instruction requires: VFP2
VMRS r2,FPEXC
^
adrl_cpy_vmrs_vmsr.s:5:1: error: instruction requires: VFP2
VMSR FPEXC,r2
^
----------------------------------------------------------------------
Build result: 1
----------------------------------------------------------------------
```</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>