Auto merge of #38079 - BurntSushi:attrtarget, r=alexcrichton
Add new #[target_feature = "..."] attribute. This commit adds a new attribute that instructs the compiler to emit target specific code for a single function. For example, the following function is permitted to use instructions that are part of SSE 4.2: #[target_feature = "+sse4.2"] fn foo() { ... } In particular, use of this attribute does not require setting the -C target-feature or -C target-cpu options on rustc. This attribute does not have any protections built into it. For example, nothing stops one from calling the above `foo` function on hosts without SSE 4.2 support. Doing so may result in a SIGILL. I've also expanded the x86 target feature whitelist.
This commit is contained in:
commit
2cdbd5eb42
5 changed files with 50 additions and 11 deletions
|
@ -66,13 +66,13 @@ impl LLVMRustResult {
|
|||
|
||||
pub fn AddFunctionAttrStringValue(llfn: ValueRef,
|
||||
idx: AttributePlace,
|
||||
attr: &'static str,
|
||||
value: &'static str) {
|
||||
attr: &CStr,
|
||||
value: &CStr) {
|
||||
unsafe {
|
||||
LLVMRustAddFunctionAttrStringValue(llfn,
|
||||
idx.as_uint(),
|
||||
attr.as_ptr() as *const _,
|
||||
value.as_ptr() as *const _)
|
||||
attr.as_ptr(),
|
||||
value.as_ptr())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue