use rustc_codegen_ssa::base::{compare_simd_types, wants_msvc_seh};
use rustc_codegen_ssa::common::span_invalid_monomorphization_error;
use rustc_codegen_ssa::common::{IntPredicate, TypeKind};
-use rustc_codegen_ssa::meth;
use rustc_codegen_ssa::mir::operand::OperandRef;
use rustc_codegen_ssa::mir::place::PlaceRef;
use rustc_codegen_ssa::traits::*;
return;
}
- sym::vtable_size | sym::vtable_align => {
- let vtable = args[0].immediate();
- let idx = match name {
- sym::vtable_size => ty::COMMON_VTABLE_ENTRIES_SIZE,
- sym::vtable_align => ty::COMMON_VTABLE_ENTRIES_ALIGN,
- _ => bug!(),
- };
- meth::VirtualIndex::from_index(idx).get_usize(self, vtable)
- }
-
_ if name.as_str().starts_with("simd_") => {
match generic_simd_intrinsic(self, name, callee_ty, args, ret_ty, llret_ty, span) {
Ok(llval) => llval,
use super::FunctionCx;
use crate::common::{span_invalid_monomorphization_error, IntPredicate};
use crate::glue;
+use crate::meth;
use crate::traits::*;
use crate::MemFlags;
bx.const_usize(bx.layout_of(tp_ty).align.abi.bytes())
}
}
+ sym::vtable_size | sym::vtable_align => {
+ let vtable = args[0].immediate();
+ let idx = match name {
+ sym::vtable_size => ty::COMMON_VTABLE_ENTRIES_SIZE,
+ sym::vtable_align => ty::COMMON_VTABLE_ENTRIES_ALIGN,
+ _ => bug!(),
+ };
+ meth::VirtualIndex::from_index(idx).get_usize(bx, vtable)
+ }
sym::pref_align_of
| sym::needs_drop
| sym::type_id