diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 | 
| commit | 3a0822f094b578157263e04114075ad7df81db41 (patch) | |
| tree | bc48361fe2cd1ca5f93ac01b38b183774468fc79 /lib/Support/TargetParser.cpp | |
| parent | 85d8b2bbe386bcfe669575d05b61482d7be07e5d (diff) | |
Notes
Diffstat (limited to 'lib/Support/TargetParser.cpp')
| -rw-r--r-- | lib/Support/TargetParser.cpp | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/lib/Support/TargetParser.cpp b/lib/Support/TargetParser.cpp index 757483b958645..760cdc11f26a1 100644 --- a/lib/Support/TargetParser.cpp +++ b/lib/Support/TargetParser.cpp @@ -276,7 +276,8 @@ bool ARMTargetParser::getFPUFeatures(unsigned FPUKind,    // FPU version subtarget features are inclusive of lower-numbered ones, so    // enable the one corresponding to this version and disable all that are -  // higher. +  // higher. We also have to make sure to disable fp16 when vfp4 is disabled, +  // as +vfp4 implies +fp16 but -vfp4 does not imply -fp16.    switch (FPUNames[FPUKind].FPUVersion) {    case 5:      Features.push_back("+fp-armv8"); @@ -287,18 +288,21 @@ bool ARMTargetParser::getFPUFeatures(unsigned FPUKind,      break;    case 3:      Features.push_back("+vfp3"); +    Features.push_back("-fp16");      Features.push_back("-vfp4");      Features.push_back("-fp-armv8");      break;    case 2:      Features.push_back("+vfp2");      Features.push_back("-vfp3"); +    Features.push_back("-fp16");      Features.push_back("-vfp4");      Features.push_back("-fp-armv8");      break;    case 0:      Features.push_back("-vfp2");      Features.push_back("-vfp3"); +    Features.push_back("-fp16");      Features.push_back("-vfp4");      Features.push_back("-fp-armv8");      break; | 
