diff mbox series

[arm] Backport -- Fix multilibs for Armv7-R

Message ID 5d7b9552-a2fc-d6b8-bbfa-99d9695ff76a@foss.arm.com
State New
Headers show
Series [arm] Backport -- Fix multilibs for Armv7-R | expand

Commit Message

Mihail Ionescu Oct. 22, 2019, 4:06 p.m. UTC
Hi,

This is a backport from trunk for GCC9.

SVN revision: r277156.

Built and tested on arm-none-eabi (comparted 
-march=armv7e-m+fp/-mfloat-abi=hard
to -march=armv7-r+fp.sp/-mfloat-abi=hard).


gcc/ChangeLog:

2019-10-21  Mihail Ionescu  <mihail.ionescu@arm.com>

	Backport from mainline
	2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/t-multilib: Add new multilib variants and new
	mappings.

gcc/testsuite/ChangeLog:

2019-10-21  Mihail Ionescu  <mihail.ionescu@arm.com>

	Backport from mainline
	2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/arm/multilib.exp: Add extra tests.


Is it ok for backport to GCC9?


Regards,
Mihail


###############     Attachment also inlined for ease of reply 
###############


+	{-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=hard} 
"thumb/v7-r+fp.sp/hard"
+	{-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=hard} 
"thumb/v7-r+fp.sp/hard"
+	{-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto -mfloat-abi=hard} 
"thumb/v7-r+fp.sp/hard"
+	{-march=armv8-r+fp.sp -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv8-r+fp.sp -mfpu=auto -mfloat-abi=hard} "thumb/v7-r+fp.sp/hard"
+	{-march=armv8-r+crc+fp.sp -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv8-r+crc+fp.sp -mfpu=auto -mfloat-abi=hard} 
"thumb/v7-r+fp.sp/hard"
      } {
  	check_multi_dir $opts $dir
      }
ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL3QtbXVsdGlsaWIgYi9nY2MvY29uZmlnL2FybS90
LW11bHRpbGliCmluZGV4IDA4NTI2MzAyMjgzZWVhMDNlNGE4ZjIyYTJhMDQ5ZTg1YmQ3YmI2YWYu
LmRjOTdjOGYwOWZiMGI3ZjUzNTIwNDMyZTFhMTc0YWRmY2UxYmY2YWYgMTAwNjQ0Ci0tLSBhL2dj
Yy9jb25maWcvYXJtL3QtbXVsdGlsaWIKKysrIGIvZ2NjL2NvbmZpZy9hcm0vdC1tdWx0aWxpYgpA
QCAtMjQsNiArMjQsOCBAQAogIyB2YWx1ZXMgZHVyaW5nIHRoZSBjb25maWd1cmUgc3RlcC4gIFdl
IGVuZm9yY2UgdGhpcyBkdXJpbmcgdGhlCiAjIHRvcC1sZXZlbCBjb25maWd1cnkuCiAKK3MtbWxp
YjogJChzcmNkaXIpL2NvbmZpZy9hcm0vdC1tdWx0aWxpYiAkKHNyY2RpcikvY29uZmlnL2FybS90
LWFwcm9maWxlICQoc3JjZGlyKS9jb25maWcvYXJtL3Qtcm1wcm9maWxlCisKIE1VTFRJTElCX09Q
VElPTlMgICAgID0KIE1VTFRJTElCX0RJUk5BTUVTICAgID0KIE1VTFRJTElCX0VYQ0VQVElPTlMg
ID0KQEAgLTYzLDYgKzY1LDggQEAgYWxsX2Vhcmx5X2FyY2gJCTo9IGFybXY1dGVqIGFybXY2IGFy
bXY2aiBhcm12NmsgYXJtdjZ6IGFybXY2a3ogXAogdjdfYV9hcmNoX3ZhcmlhbnRzCTo9ICQoY2Fs
bCBhbGxfZmVhdF9jb21icywgbXAgc2VjKQogdjdfYV9ub3NpbWRfdmFyaWFudHMJOj0gK2ZwICt2
ZnB2MyArdmZwdjMtZDE2LWZwMTYgK3ZmcHYzLWZwMTYgK3ZmcHY0LWQxNiArdmZwdjQKIHY3X2Ff
c2ltZF92YXJpYW50cwk6PSArc2ltZCArbmVvbi1mcDE2ICtuZW9uLXZmcHY0Cit2N19yX3NwX3Zh
cmlhbnRzCTo9ICtmcC5zcCArZnAuc3AraWRpdiArdmZwdjN4ZC1mcDE2ICt2ZnB2M3hkLWZwMTYr
aWRpdgordjdfcl9kcF92YXJpYW50cwk6PSArZnAgK2ZwK2lkaXYgK3ZmcHYzLWQxNi1mcDE2ICt2
ZnB2My1kMTYtZnAxNitpZGl2CiB2N3ZlX25vc2ltZF92YXJpYW50cwk6PSArdmZwdjMtZDE2ICt2
ZnB2MyArdmZwdjMtZDE2LWZwMTYgK3ZmcHYzLWZwMTYgK2ZwICt2ZnB2NAogdjd2ZV92ZnB2M19z
aW1kX3ZhcmlhbnRzIDo9ICtuZW9uICtuZW9uLWZwMTYKIHY3dmVfdmZwdjRfc2ltZF92YXJpYW50
cyA6PSArc2ltZApAQCAtODYsOCArOTAsOCBAQCBTRVAgOj0gJChhbmQgJChIQVNfQVBST0ZJTEUp
LCQoSEFTX1JNUFJPRklMRSksLykKIE1VTFRJTElCX09QVElPTlMJKz0gbWFybS9tdGh1bWIKIE1V
TFRJTElCX0RJUk5BTUVTCSs9IGFybSB0aHVtYgogCi1NVUxUSUxJQl9PUFRJT05TCSs9IG1hcmNo
PWFybXY1dGUrZnAvbWFyY2g9YXJtdjcvbWFyY2g9YXJtdjcrZnAvJChNVUxUSV9BUkNIX09QVFNf
QSkkKFNFUCkkKE1VTFRJX0FSQ0hfT1BUU19STSkKLU1VTFRJTElCX0RJUk5BTUVTCSs9IHY1dGUg
djcgdjcrZnAgJChNVUxUSV9BUkNIX0RJUlNfQSkgJChNVUxUSV9BUkNIX0RJUlNfUk0pCitNVUxU
SUxJQl9PUFRJT05TCSs9IG1hcmNoPWFybXY1dGUrZnAvbWFyY2g9YXJtdjcvbWFyY2g9YXJtdjcr
ZnAvbWFyY2g9YXJtdjctcitmcC5zcC8kKE1VTFRJX0FSQ0hfT1BUU19BKSQoU0VQKSQoTVVMVElf
QVJDSF9PUFRTX1JNKQorTVVMVElMSUJfRElSTkFNRVMJKz0gdjV0ZSB2NyB2NytmcCB2Ny1yK2Zw
LnNwICQoTVVMVElfQVJDSF9ESVJTX0EpICQoTVVMVElfQVJDSF9ESVJTX1JNKQogCiBNVUxUSUxJ
Ql9PUFRJT05TCSs9IG1mbG9hdC1hYmk9c29mdC9tZmxvYXQtYWJpPXNvZnRmcC9tZmxvYXQtYWJp
PWhhcmQKIE1VTFRJTElCX0RJUk5BTUVTCSs9IG5vZnAgc29mdGZwIGhhcmQKQEAgLTEwMCwyMiAr
MTA0LDMxIEBAIE1VTFRJTElCX1JFUVVJUkVECSs9IG10aHVtYi9tYXJjaD1hcm12Ny9tZmxvYXQt
YWJpPXNvZnQKIE1VTFRJTElCX1JFUVVJUkVECSs9IG10aHVtYi9tYXJjaD1hcm12NytmcC9tZmxv
YXQtYWJpPXNvZnRmcAogTVVMVElMSUJfUkVRVUlSRUQJKz0gbXRodW1iL21hcmNoPWFybXY3K2Zw
L21mbG9hdC1hYmk9aGFyZAogCi0jIE1hcCB2Ny1yIGRvd24gb250byBjb21tb24gdjcgY29kZS4K
K01VTFRJTElCX1JFUVVJUkVECSs9IG10aHVtYi9tYXJjaD1hcm12Ny1yK2ZwLnNwL21mbG9hdC1h
Ymk9c29mdGZwCitNVUxUSUxJQl9SRVFVSVJFRAkrPSBtdGh1bWIvbWFyY2g9YXJtdjctcitmcC5z
cC9tZmxvYXQtYWJpPWhhcmQKKworIyBNYXAgdjctciB3aXRoIGRvdWJsZSBwcmVjaXNpb24gZG93
biBvbnRvIGNvbW1vbiB2NyBjb2RlLgogTVVMVElMSUJfTUFUQ0hFUwkrPSBtYXJjaD9hcm12Nz1t
YXJjaD9hcm12Ny1yCiBNVUxUSUxJQl9NQVRDSEVTCSs9IG1hcmNoP2FybXY3PW1hcmNoP2FybXY3
LXIraWRpdgotTVVMVElMSUJfTUFUQ0hFUwkrPSBtYXJjaD9hcm12NytmcD1tYXJjaD9hcm12Ny1y
K2ZwCi1NVUxUSUxJQl9NQVRDSEVTCSs9IG1hcmNoP2FybXY3K2ZwPW1hcmNoP2FybXY3LXIrZnAr
aWRpdgorTVVMVElMSUJfTUFUQ0hFUwkrPSAkKGZvcmVhY2ggQVJDSCwgJCh2N19yX2RwX3Zhcmlh
bnRzKSwgXAorCQkJICAgICBtYXJjaD9hcm12NytmcD1tYXJjaD9hcm12Ny1yJChBUkNIKSkKKwor
IyBNYXAgdjctciBzaW5nbGUgcHJlY2lzaW9uIHZhcmlhbnRzIHRvIHY3LXIgd2l0aCBzaW5nbGUg
cHJlY2lzaW9uLgorTVVMVElMSUJfTUFUQ0hFUwkrPSAkKGZvcmVhY2ggQVJDSCwgXAorCQkJICAg
ICAkKGZpbHRlci1vdXQgK2ZwLnNwLCAkKHY3X3Jfc3BfdmFyaWFudHMpKSwgXAorCQkJICAgICBt
YXJjaD9hcm12Ny1yK2ZwLnNwPW1hcmNoP2FybXY3LXIkKEFSQ0gpKQogCiBNVUxUSUxJQl9NQVRD
SEVTCSs9ICQoZm9yZWFjaCBBUkNILCAkKGFsbF9lYXJseV9hcmNoKSwgXAogCQkJICAgICBtYXJj
aD9hcm12NXRlK2ZwPW1hcmNoPyQoQVJDSCkrZnApCi0jIE1hcCB2OC1yIGRvd24gb250byBjb21t
b24gdjcgY29kZS4KKyMgTWFwIHY4LXIgZG93biBvbnRvIGNvbW1vbiB2NyBjb2RlIG9yIHY3LXIg
c3AuCiBNVUxUSUxJQl9NQVRDSEVTCSs9IG1hcmNoP2FybXY3PW1hcmNoP2FybXY4LXIKIE1VTFRJ
TElCX01BVENIRVMJKz0gJChmb3JlYWNoIEFSQ0gsICQodjhfcl9ub3NpbWRfdmFyaWFudHMpLCBc
CiAJCQkgICAgIG1hcmNoP2FybXY3PW1hcmNoP2FybXY4LXIkKEFSQ0gpKQogTVVMVElMSUJfTUFU
Q0hFUwkrPSAkKGZvcmVhY2ggQVJDSCwrc2ltZCArY3J5cHRvLCBcCiAJCQkgICAgIG1hcmNoP2Fy
bXY3K2ZwPW1hcmNoP2FybXY4LXIkKEFSQ0gpIFwKIAkJCSAgICAgbWFyY2g/YXJtdjcrZnA9bWFy
Y2g/YXJtdjgtcitjcmMkKEFSQ0gpKQotCitNVUxUSUxJQl9NQVRDSEVTCSs9IG1hcmNoP2FybXY3
LXIrZnAuc3A9bWFyY2g/YXJtdjgtcitmcC5zcAorTVVMVElMSUJfTUFUQ0hFUwkrPSBtYXJjaD9h
cm12Ny1yK2ZwLnNwPW1hcmNoP2FybXY4LXIrY3JjK2ZwLnNwCiAKIGlmZXEgKCwkKEhBU19BUFJP
RklMRSkpCiAjIE1hcCBhbGwgdjctYQpAQCAtMTc3LDcgKzE5MCw3IEBAIE1VTFRJTElCX01BVENI
RVMJKz0gJChmb3JlYWNoIEFSQ0gsICQodjhfNV9hX3NpbWRfdmFyaWFudHMpLCBcCiBNVUxUSUxJ
Ql9SRVVTRQkJKz0gbXRodW1iL21hcmNoLmFybXY3L21mbG9hdC1hYmkuc29mdD1tYXJtL21hcmNo
LmFybXY3L21mbG9hdC1hYmkuc29mdAogCiBNVUxUSUxJQl9SRVVTRQkJKz0gJChmb3JlYWNoIEFC
SSwgaGFyZCBzb2Z0ZnAsIFwKLQkJCSAgICAgJChmb3JlYWNoIEFSQ0gsIGFybXY3K2ZwLCBcCisJ
CQkgICAgICQoZm9yZWFjaCBBUkNILCBhcm12NytmcCBhcm12Ny1yK2ZwXC5zcCwgXAogCQkJICAg
ICAgIG10aHVtYi9tYXJjaC4kKEFSQ0gpL21mbG9hdC1hYmkuJChBQkkpPW1hcm0vbWFyY2guJChB
UkNIKS9tZmxvYXQtYWJpLiQoQUJJKSkpCiAKICMgU29mdGZwIGJ1dCBubyBGUCwgdXNlIHRoZSBz
b2Z0LWZsb2F0IGxpYnJhcmllcy4KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl
dC9hcm0vbXVsdGlsaWIuZXhwIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdWx0aWxp
Yi5leHAKaW5kZXggZDgyMzA2ZWQ2MzBmMmRmMDY0NWNjYWE0M2JhMWY5ZGQzZDVjNzJlZC4uZGNl
YTgyOTk2NWViMTVlMzcyNDAxZTYzODlkZjVhMTQwMzM5M2VjYiAxMDA2NDQKLS0tIGEvZ2NjL3Rl
c3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdWx0aWxpYi5leHAKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n
Y2MudGFyZ2V0L2FybS9tdWx0aWxpYi5leHAKQEAgLTc1Myw2ICs3NTMsMjggQEAgaWYge1ttdWx0
aWxpYl9jb25maWcgInJtcHJvZmlsZSJdIH0gewogCXstbWFyY2g9YXJtdjgtbS5tYWluK2ZwLmRw
IC1tZnB1PWZwdjUtZDE2IC1tZmxvYXQtYWJpPXNvZnRmcH0gInRodW1iL3Y4LW0ubWFpbitkcC9z
b2Z0ZnAiCiAJey1tYXJjaD1hcm12OC1tLm1haW4rZnArZHNwIC1tZnB1PWZwdjUtZDE2IC1tZmxv
YXQtYWJpPXNvZnRmcH0gInRodW1iL3Y4LW0ubWFpbitkcC9zb2Z0ZnAiCiAJey1tYXJjaD1hcm12
OC1tLm1haW4rZnAuZHArZHNwIC1tZnB1PWZwdjUtZDE2IC1tZmxvYXQtYWJpPXNvZnRmcH0gInRo
dW1iL3Y4LW0ubWFpbitkcC9zb2Z0ZnAiCisJey1tYXJjaD1hcm12Ny1yK2ZwIC1tZnB1PWF1dG8g
LW1mbG9hdC1hYmk9c29mdGZwfSAidGh1bWIvdjcrZnAvc29mdGZwIgorCXstbWFyY2g9YXJtdjct
citmcCAtbWZwdT1hdXRvIC1tZmxvYXQtYWJpPWhhcmR9ICJ0aHVtYi92NytmcC9oYXJkIgorCXst
bWFyY2g9YXJtdjctcitmcCtpZGl2IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9c29mdGZwfSAidGh1
bWIvdjcrZnAvc29mdGZwIgorCXstbWFyY2g9YXJtdjctcitmcCtpZGl2IC1tZnB1PWF1dG8gLW1m
bG9hdC1hYmk9aGFyZH0gInRodW1iL3Y3K2ZwL2hhcmQiCisJey1tYXJjaD1hcm12Ny1yK3ZmcHYz
LWQxNi1mcDE2IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9c29mdGZwfSAidGh1bWIvdjcrZnAvc29m
dGZwIgorCXstbWFyY2g9YXJtdjctcit2ZnB2My1kMTYtZnAxNiAtbWZwdT1hdXRvIC1tZmxvYXQt
YWJpPWhhcmR9ICJ0aHVtYi92NytmcC9oYXJkIgorCXstbWFyY2g9YXJtdjctcit2ZnB2My1kMTYt
ZnAxNitpZGl2IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9c29mdGZwfSAidGh1bWIvdjcrZnAvc29m
dGZwIgorCXstbWFyY2g9YXJtdjctcit2ZnB2My1kMTYtZnAxNitpZGl2IC1tZnB1PWF1dG8gLW1m
bG9hdC1hYmk9aGFyZH0gInRodW1iL3Y3K2ZwL2hhcmQiCisJey1tYXJjaD1hcm12Ny1yK2ZwLnNw
IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9c29mdGZwfSAidGh1bWIvdjctcitmcC5zcC9zb2Z0ZnAi
CisJey1tYXJjaD1hcm12Ny1yK2ZwLnNwIC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9aGFyZH0gInRo
dW1iL3Y3LXIrZnAuc3AvaGFyZCIKKwl7LW1hcmNoPWFybXY3LXIrZnAuc3AraWRpdiAtbWZwdT1h
dXRvIC1tZmxvYXQtYWJpPXNvZnRmcH0gInRodW1iL3Y3LXIrZnAuc3Avc29mdGZwIgorCXstbWFy
Y2g9YXJtdjctcitmcC5zcCtpZGl2IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9aGFyZH0gInRodW1i
L3Y3LXIrZnAuc3AvaGFyZCIKKwl7LW1hcmNoPWFybXY3LXIrdmZwdjN4ZCAtbWZwdT1hdXRvIC1t
ZmxvYXQtYWJpPXNvZnRmcH0gInRodW1iL3Y3LXIrZnAuc3Avc29mdGZwIgorCXstbWFyY2g9YXJt
djctcit2ZnB2M3hkIC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9aGFyZH0gInRodW1iL3Y3LXIrZnAu
c3AvaGFyZCIKKwl7LW1hcmNoPWFybXY3LXIrdmZwdjN4ZCtpZGl2IC1tZnB1PWF1dG8gLW1mbG9h
dC1hYmk9c29mdGZwfSAidGh1bWIvdjctcitmcC5zcC9zb2Z0ZnAiCisJey1tYXJjaD1hcm12Ny1y
K3ZmcHYzeGQraWRpdiAtbWZwdT1hdXRvIC1tZmxvYXQtYWJpPWhhcmR9ICJ0aHVtYi92Ny1yK2Zw
LnNwL2hhcmQiCisJey1tYXJjaD1hcm12Ny1yK3ZmcHYzeGQtZnAxNitpZGl2IC1tZnB1PWF1dG8g
LW1mbG9hdC1hYmk9c29mdGZwfSAidGh1bWIvdjctcitmcC5zcC9zb2Z0ZnAiCisJey1tYXJjaD1h
cm12Ny1yK3ZmcHYzeGQtZnAxNitpZGl2IC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9aGFyZH0gInRo
dW1iL3Y3LXIrZnAuc3AvaGFyZCIKKwl7LW1hcmNoPWFybXY4LXIrZnAuc3AgLW1mcHU9YXV0byAt
bWZsb2F0LWFiaT1zb2Z0ZnB9ICJ0aHVtYi92Ny1yK2ZwLnNwL3NvZnRmcCIKKwl7LW1hcmNoPWFy
bXY4LXIrZnAuc3AgLW1mcHU9YXV0byAtbWZsb2F0LWFiaT1oYXJkfSAidGh1bWIvdjctcitmcC5z
cC9oYXJkIgorCXstbWFyY2g9YXJtdjgtcitjcmMrZnAuc3AgLW1mcHU9YXV0byAtbWZsb2F0LWFi
aT1zb2Z0ZnB9ICJ0aHVtYi92Ny1yK2ZwLnNwL3NvZnRmcCIKKwl7LW1hcmNoPWFybXY4LXIrY3Jj
K2ZwLnNwIC1tZnB1PWF1dG8gLW1mbG9hdC1hYmk9aGFyZH0gInRodW1iL3Y3LXIrZnAuc3AvaGFy
ZCIKICAgICB9IHsKIAljaGVja19tdWx0aV9kaXIgJG9wdHMgJGRpcgogICAgIH0KCg==

Comments

Mihail Ionescu Oct. 22, 2019, 4:21 p.m. UTC | #1
Hi,

I previously did not properly attach the diff.


Regards,
Mihail

On 10/22/2019 05:06 PM, Mihail Ionescu wrote:
> Hi,
> 
> This is a backport from trunk for GCC9.
> 
> SVN revision: r277156.
> 
> Built and tested on arm-none-eabi (comparted 
> -march=armv7e-m+fp/-mfloat-abi=hard
> to -march=armv7-r+fp.sp/-mfloat-abi=hard).
> 
> 
> gcc/ChangeLog:
> 
> 2019-10-21  Mihail Ionescu  <mihail.ionescu@arm.com>
> 
>      Backport from mainline
>      2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
> 
>      * config/arm/t-multilib: Add new multilib variants and new
>      mappings.
> 
> gcc/testsuite/ChangeLog:
> 
> 2019-10-21  Mihail Ionescu  <mihail.ionescu@arm.com>
> 
>      Backport from mainline
>      2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
> 
>      * gcc.target/arm/multilib.exp: Add extra tests.
> 
> 
> Is it ok for backport to GCC9?
> 
> 
> Regards,
> Mihail
> 
> 
> ###############     Attachment also inlined for ease of reply 
> ###############
> 
> 
> diff --git a/gcc/config/arm/t-multilib b/gcc/config/arm/t-multilib
> index 
> 08526302283eea03e4a8f22a2a049e85bd7bb6af..dc97c8f09fb0b7f53520432e1a174adfce1bf6af 
> 100644
> --- a/gcc/config/arm/t-multilib
> +++ b/gcc/config/arm/t-multilib
> @@ -24,6 +24,8 @@
>   # values during the configure step.  We enforce this during the
>   # top-level configury.
>   +s-mlib: $(srcdir)/config/arm/t-multilib 
> $(srcdir)/config/arm/t-aprofile $(srcdir)/config/arm/t-rmprofile
> +
>   MULTILIB_OPTIONS     =
>   MULTILIB_DIRNAMES    =
>   MULTILIB_EXCEPTIONS  =
> @@ -63,6 +65,8 @@ all_early_arch        := armv5tej armv6 armv6j armv6k 
> armv6z armv6kz \
>   v7_a_arch_variants    := $(call all_feat_combs, mp sec)
>   v7_a_nosimd_variants    := +fp +vfpv3 +vfpv3-d16-fp16 +vfpv3-fp16 
> +vfpv4-d16 +vfpv4
>   v7_a_simd_variants    := +simd +neon-fp16 +neon-vfpv4
> +v7_r_sp_variants    := +fp.sp +fp.sp+idiv +vfpv3xd-fp16 +vfpv3xd-fp16+idiv
> +v7_r_dp_variants    := +fp +fp+idiv +vfpv3-d16-fp16 +vfpv3-d16-fp16+idiv
>   v7ve_nosimd_variants    := +vfpv3-d16 +vfpv3 +vfpv3-d16-fp16 
> +vfpv3-fp16 +fp +vfpv4
>   v7ve_vfpv3_simd_variants := +neon +neon-fp16
>   v7ve_vfpv4_simd_variants := +simd
> @@ -86,8 +90,8 @@ SEP := $(and $(HAS_APROFILE),$(HAS_RMPROFILE),/)
>   MULTILIB_OPTIONS    += marm/mthumb
>   MULTILIB_DIRNAMES    += arm thumb
>   -MULTILIB_OPTIONS    += 
> march=armv5te+fp/march=armv7/march=armv7+fp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM) 
> 
> -MULTILIB_DIRNAMES    += v5te v7 v7+fp $(MULTI_ARCH_DIRS_A) 
> $(MULTI_ARCH_DIRS_RM)
> +MULTILIB_OPTIONS    += 
> march=armv5te+fp/march=armv7/march=armv7+fp/march=armv7-r+fp.sp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM) 
> 
> +MULTILIB_DIRNAMES    += v5te v7 v7+fp v7-r+fp.sp $(MULTI_ARCH_DIRS_A) 
> $(MULTI_ARCH_DIRS_RM)
>    MULTILIB_OPTIONS    += mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard
>   MULTILIB_DIRNAMES    += nofp softfp hard
> @@ -100,22 +104,31 @@ MULTILIB_REQUIRED    += 
> mthumb/march=armv7/mfloat-abi=soft
>   MULTILIB_REQUIRED    += mthumb/march=armv7+fp/mfloat-abi=softfp
>   MULTILIB_REQUIRED    += mthumb/march=armv7+fp/mfloat-abi=hard
>   -# Map v7-r down onto common v7 code.
> +MULTILIB_REQUIRED    += mthumb/march=armv7-r+fp.sp/mfloat-abi=softfp
> +MULTILIB_REQUIRED    += mthumb/march=armv7-r+fp.sp/mfloat-abi=hard
> +
> +# Map v7-r with double precision down onto common v7 code.
>   MULTILIB_MATCHES    += march?armv7=march?armv7-r
>   MULTILIB_MATCHES    += march?armv7=march?armv7-r+idiv
> -MULTILIB_MATCHES    += march?armv7+fp=march?armv7-r+fp
> -MULTILIB_MATCHES    += march?armv7+fp=march?armv7-r+fp+idiv
> +MULTILIB_MATCHES    += $(foreach ARCH, $(v7_r_dp_variants), \
> +                 march?armv7+fp=march?armv7-r$(ARCH))
> +
> +# Map v7-r single precision variants to v7-r with single precision.
> +MULTILIB_MATCHES    += $(foreach ARCH, \
> +                 $(filter-out +fp.sp, $(v7_r_sp_variants)), \
> +                 march?armv7-r+fp.sp=march?armv7-r$(ARCH))
>    MULTILIB_MATCHES    += $(foreach ARCH, $(all_early_arch), \
>                    march?armv5te+fp=march?$(ARCH)+fp)
> -# Map v8-r down onto common v7 code.
> +# Map v8-r down onto common v7 code or v7-r sp.
>   MULTILIB_MATCHES    += march?armv7=march?armv8-r
>   MULTILIB_MATCHES    += $(foreach ARCH, $(v8_r_nosimd_variants), \
>                    march?armv7=march?armv8-r$(ARCH))
>   MULTILIB_MATCHES    += $(foreach ARCH,+simd +crypto, \
>                    march?armv7+fp=march?armv8-r$(ARCH) \
>                    march?armv7+fp=march?armv8-r+crc$(ARCH))
> -
> +MULTILIB_MATCHES    += march?armv7-r+fp.sp=march?armv8-r+fp.sp
> +MULTILIB_MATCHES    += march?armv7-r+fp.sp=march?armv8-r+crc+fp.sp
>    ifeq (,$(HAS_APROFILE))
>   # Map all v7-a
> @@ -177,7 +190,7 @@ MULTILIB_MATCHES    += $(foreach ARCH, 
> $(v8_5_a_simd_variants), \
>   MULTILIB_REUSE        += 
> mthumb/march.armv7/mfloat-abi.soft=marm/march.armv7/mfloat-abi.soft
>    MULTILIB_REUSE        += $(foreach ABI, hard softfp, \
> -                 $(foreach ARCH, armv7+fp, \
> +                 $(foreach ARCH, armv7+fp armv7-r+fp\.sp, \
> mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI))) 
> 
>    # Softfp but no FP, use the soft-float libraries.
> diff --git a/gcc/testsuite/gcc.target/arm/multilib.exp 
> b/gcc/testsuite/gcc.target/arm/multilib.exp
> index 
> d82306ed630f2df0645ccaa43ba1f9dd3d5c72ed..dcea829965eb15e372401e6389df5a1403393ecb 
> 100644
> --- a/gcc/testsuite/gcc.target/arm/multilib.exp
> +++ b/gcc/testsuite/gcc.target/arm/multilib.exp
> @@ -753,6 +753,28 @@ if {[multilib_config "rmprofile"] } {
>       {-march=armv8-m.main+fp.dp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
> "thumb/v8-m.main+dp/softfp"
>       {-march=armv8-m.main+fp+dsp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
> "thumb/v8-m.main+dp/softfp"
>       {-march=armv8-m.main+fp.dp+dsp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
> "thumb/v8-m.main+dp/softfp"
> +    {-march=armv7-r+fp -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
> +    {-march=armv7-r+fp -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
> +    {-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7+fp/softfp"
> +    {-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7+fp/hard"
> +    {-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7+fp/softfp"
> +    {-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7+fp/hard"
> +    {-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7+fp/softfp"
> +    {-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7+fp/hard"
> +    {-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv8-r+fp.sp -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv8-r+fp.sp -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
> +    {-march=armv8-r+crc+fp.sp -mfpu=auto -mfloat-abi=softfp} 
> "thumb/v7-r+fp.sp/softfp"
> +    {-march=armv8-r+crc+fp.sp -mfpu=auto -mfloat-abi=hard} 
> "thumb/v7-r+fp.sp/hard"
>       } {
>       check_multi_dir $opts $dir
>       }
> 
>
diff mbox series

Patch

diff --git a/gcc/config/arm/t-multilib b/gcc/config/arm/t-multilib
index 
08526302283eea03e4a8f22a2a049e85bd7bb6af..dc97c8f09fb0b7f53520432e1a174adfce1bf6af 
100644
--- a/gcc/config/arm/t-multilib
+++ b/gcc/config/arm/t-multilib
@@ -24,6 +24,8 @@ 
  # values during the configure step.  We enforce this during the
  # top-level configury.
  +s-mlib: $(srcdir)/config/arm/t-multilib 
$(srcdir)/config/arm/t-aprofile $(srcdir)/config/arm/t-rmprofile
+
  MULTILIB_OPTIONS     =
  MULTILIB_DIRNAMES    =
  MULTILIB_EXCEPTIONS  =
@@ -63,6 +65,8 @@  all_early_arch		:= armv5tej armv6 armv6j armv6k armv6z 
armv6kz \
  v7_a_arch_variants	:= $(call all_feat_combs, mp sec)
  v7_a_nosimd_variants	:= +fp +vfpv3 +vfpv3-d16-fp16 +vfpv3-fp16 
+vfpv4-d16 +vfpv4
  v7_a_simd_variants	:= +simd +neon-fp16 +neon-vfpv4
+v7_r_sp_variants	:= +fp.sp +fp.sp+idiv +vfpv3xd-fp16 +vfpv3xd-fp16+idiv
+v7_r_dp_variants	:= +fp +fp+idiv +vfpv3-d16-fp16 +vfpv3-d16-fp16+idiv
  v7ve_nosimd_variants	:= +vfpv3-d16 +vfpv3 +vfpv3-d16-fp16 +vfpv3-fp16 
+fp +vfpv4
  v7ve_vfpv3_simd_variants := +neon +neon-fp16
  v7ve_vfpv4_simd_variants := +simd
@@ -86,8 +90,8 @@  SEP := $(and $(HAS_APROFILE),$(HAS_RMPROFILE),/)
  MULTILIB_OPTIONS	+= marm/mthumb
  MULTILIB_DIRNAMES	+= arm thumb
  -MULTILIB_OPTIONS	+= 
march=armv5te+fp/march=armv7/march=armv7+fp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM)
-MULTILIB_DIRNAMES	+= v5te v7 v7+fp $(MULTI_ARCH_DIRS_A) 
$(MULTI_ARCH_DIRS_RM)
+MULTILIB_OPTIONS	+= 
march=armv5te+fp/march=armv7/march=armv7+fp/march=armv7-r+fp.sp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM)
+MULTILIB_DIRNAMES	+= v5te v7 v7+fp v7-r+fp.sp $(MULTI_ARCH_DIRS_A) 
$(MULTI_ARCH_DIRS_RM)
   MULTILIB_OPTIONS	+= mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard
  MULTILIB_DIRNAMES	+= nofp softfp hard
@@ -100,22 +104,31 @@  MULTILIB_REQUIRED	+= 
mthumb/march=armv7/mfloat-abi=soft
  MULTILIB_REQUIRED	+= mthumb/march=armv7+fp/mfloat-abi=softfp
  MULTILIB_REQUIRED	+= mthumb/march=armv7+fp/mfloat-abi=hard
  -# Map v7-r down onto common v7 code.
+MULTILIB_REQUIRED	+= mthumb/march=armv7-r+fp.sp/mfloat-abi=softfp
+MULTILIB_REQUIRED	+= mthumb/march=armv7-r+fp.sp/mfloat-abi=hard
+
+# Map v7-r with double precision down onto common v7 code.
  MULTILIB_MATCHES	+= march?armv7=march?armv7-r
  MULTILIB_MATCHES	+= march?armv7=march?armv7-r+idiv
-MULTILIB_MATCHES	+= march?armv7+fp=march?armv7-r+fp
-MULTILIB_MATCHES	+= march?armv7+fp=march?armv7-r+fp+idiv
+MULTILIB_MATCHES	+= $(foreach ARCH, $(v7_r_dp_variants), \
+			     march?armv7+fp=march?armv7-r$(ARCH))
+
+# Map v7-r single precision variants to v7-r with single precision.
+MULTILIB_MATCHES	+= $(foreach ARCH, \
+			     $(filter-out +fp.sp, $(v7_r_sp_variants)), \
+			     march?armv7-r+fp.sp=march?armv7-r$(ARCH))
   MULTILIB_MATCHES	+= $(foreach ARCH, $(all_early_arch), \
  			     march?armv5te+fp=march?$(ARCH)+fp)
-# Map v8-r down onto common v7 code.
+# Map v8-r down onto common v7 code or v7-r sp.
  MULTILIB_MATCHES	+= march?armv7=march?armv8-r
  MULTILIB_MATCHES	+= $(foreach ARCH, $(v8_r_nosimd_variants), \
  			     march?armv7=march?armv8-r$(ARCH))
  MULTILIB_MATCHES	+= $(foreach ARCH,+simd +crypto, \
  			     march?armv7+fp=march?armv8-r$(ARCH) \
  			     march?armv7+fp=march?armv8-r+crc$(ARCH))
-
+MULTILIB_MATCHES	+= march?armv7-r+fp.sp=march?armv8-r+fp.sp
+MULTILIB_MATCHES	+= march?armv7-r+fp.sp=march?armv8-r+crc+fp.sp
   ifeq (,$(HAS_APROFILE))
  # Map all v7-a
@@ -177,7 +190,7 @@  MULTILIB_MATCHES	+= $(foreach ARCH, 
$(v8_5_a_simd_variants), \
  MULTILIB_REUSE		+= 
mthumb/march.armv7/mfloat-abi.soft=marm/march.armv7/mfloat-abi.soft
   MULTILIB_REUSE		+= $(foreach ABI, hard softfp, \
-			     $(foreach ARCH, armv7+fp, \
+			     $(foreach ARCH, armv7+fp armv7-r+fp\.sp, \
  			 
mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI)))
   # Softfp but no FP, use the soft-float libraries.
diff --git a/gcc/testsuite/gcc.target/arm/multilib.exp 
b/gcc/testsuite/gcc.target/arm/multilib.exp
index 
d82306ed630f2df0645ccaa43ba1f9dd3d5c72ed..dcea829965eb15e372401e6389df5a1403393ecb 
100644
--- a/gcc/testsuite/gcc.target/arm/multilib.exp
+++ b/gcc/testsuite/gcc.target/arm/multilib.exp
@@ -753,6 +753,28 @@  if {[multilib_config "rmprofile"] } {
  	{-march=armv8-m.main+fp.dp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
"thumb/v8-m.main+dp/softfp"
  	{-march=armv8-m.main+fp+dsp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
"thumb/v8-m.main+dp/softfp"
  	{-march=armv8-m.main+fp.dp+dsp -mfpu=fpv5-d16 -mfloat-abi=softfp} 
"thumb/v8-m.main+dp/softfp"
+	{-march=armv7-r+fp -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
+	{-march=armv7-r+fp -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+	{-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7+fp/softfp"
+	{-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+	{-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7+fp/softfp"
+	{-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=hard} 
"thumb/v7+fp/hard"
+	{-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7+fp/softfp"
+	{-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=hard} 
"thumb/v7+fp/hard"
+	{-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=hard} "thumb/v7-r+fp.sp/hard"
+	{-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"
+	{-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=hard} 
"thumb/v7-r+fp.sp/hard"
+	{-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=softfp} 
"thumb/v7-r+fp.sp/softfp"