cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
This commit is contained in:
		 Greg Becker
					Greg Becker
				
			
				
					committed by
					
						 Todd Gamblin
						Todd Gamblin
					
				
			
			
				
	
			
			
			 Todd Gamblin
						Todd Gamblin
					
				
			
						parent
						
							835df4b2e4
						
					
				
				
					commit
					b727f922a4
				
			| @@ -61,11 +61,18 @@ | |||||||
|             "flags": "-march={name} -mtune={name}" |             "flags": "-march={name} -mtune={name}" | ||||||
|           } |           } | ||||||
|         ], |         ], | ||||||
|         "clang": { |         "clang": [ | ||||||
|  |           { | ||||||
|  |             "versions": "0.0.0-apple:", | ||||||
|  |             "family": "x86-64", | ||||||
|  |             "flags": "-march={family}" | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|             "versions": ":", |             "versions": ":", | ||||||
|             "family": "x86-64", |             "family": "x86-64", | ||||||
|             "flags": "-march={family} -mcpu=generic" |             "flags": "-march={family} -mcpu=generic" | ||||||
|         }, |           } | ||||||
|  |         ], | ||||||
|         "intel": { |         "intel": { | ||||||
|           "versions": ":", |           "versions": ":", | ||||||
|           "name": "pentium4", |           "name": "pentium4", | ||||||
|   | |||||||
| @@ -176,8 +176,9 @@ def test_arch_spec_container_semantic(item, architecture_str): | |||||||
|     ('gcc@4.7.2', 'ivybridge', '-march=core-avx-i -mtune=core-avx-i'), |     ('gcc@4.7.2', 'ivybridge', '-march=core-avx-i -mtune=core-avx-i'), | ||||||
|     # Check mixed toolchains |     # Check mixed toolchains | ||||||
|     ('clang@8.0.0', 'broadwell', ''), |     ('clang@8.0.0', 'broadwell', ''), | ||||||
|  |     ('clang@3.5', 'x86_64', '-march=x86-64 -mcpu=generic'), | ||||||
|     # Check clang compilers with 'apple' suffix |     # Check clang compilers with 'apple' suffix | ||||||
|     ('clang@9.1.0-apple', 'x86_64', '-march=x86-64 -mcpu=generic') |     ('clang@9.1.0-apple', 'x86_64', '-march=x86-64') | ||||||
| ]) | ]) | ||||||
| @pytest.mark.filterwarnings("ignore:microarchitecture specific") | @pytest.mark.filterwarnings("ignore:microarchitecture specific") | ||||||
| def test_optimization_flags( | def test_optimization_flags( | ||||||
| @@ -199,9 +200,9 @@ def test_optimization_flags( | |||||||
|     (spack.spec.CompilerSpec('gcc@4.4.0-special'), '9.2.0', 'icelake', |     (spack.spec.CompilerSpec('gcc@4.4.0-special'), '9.2.0', 'icelake', | ||||||
|      '-march=icelake-client -mtune=icelake-client'), |      '-march=icelake-client -mtune=icelake-client'), | ||||||
|     # Check that the special case for Apple's clang is treated correctly |     # Check that the special case for Apple's clang is treated correctly | ||||||
|     # i.e. it won't try to dtect the version again |     # i.e. it won't try to detect the version again | ||||||
|     (spack.spec.CompilerSpec('clang@9.1.0-apple'), None, 'x86_64', |     (spack.spec.CompilerSpec('clang@9.1.0-apple'), None, 'x86_64', | ||||||
|      '-march=x86-64 -mcpu=generic'), |      '-march=x86-64'), | ||||||
| ]) | ]) | ||||||
| def test_optimization_flags_with_custom_versions( | def test_optimization_flags_with_custom_versions( | ||||||
|         compiler, real_version, target_str, expected_flags, monkeypatch, config |         compiler, real_version, target_str, expected_flags, monkeypatch, config | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user