Skip to content

Commit 5c1c65d

Browse files
authored
Merge pull request #2068 from heiher/loong-clippy
loongarch: Remove unnecessary `transmute` calls
2 parents a088099 + 5f27e9e commit 5c1c65d

3 files changed

Lines changed: 15 additions & 15 deletions

File tree

crates/core_arch/src/loongarch64/lasx/generated.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5044,7 +5044,7 @@ pub unsafe fn lasx_xvld<const IMM_S12: i32>(mem_addr: *const i8) -> m256i {
50445044
#[unstable(feature = "stdarch_loongarch", issue = "117427")]
50455045
pub unsafe fn lasx_xvst<const IMM_S12: i32>(a: m256i, mem_addr: *mut i8) {
50465046
static_assert_simm_bits!(IMM_S12, 12);
5047-
transmute(__lasx_xvst(transmute(a), mem_addr, IMM_S12))
5047+
__lasx_xvst(transmute(a), mem_addr, IMM_S12)
50485048
}
50495049

50505050
#[inline(always)]
@@ -5054,7 +5054,7 @@ pub unsafe fn lasx_xvst<const IMM_S12: i32>(a: m256i, mem_addr: *mut i8) {
50545054
pub unsafe fn lasx_xvstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m256i, mem_addr: *mut i8) {
50555055
static_assert_simm_bits!(IMM_S8, 8);
50565056
static_assert_uimm_bits!(IMM4, 4);
5057-
transmute(__lasx_xvstelm_b(transmute(a), mem_addr, IMM_S8, IMM4))
5057+
__lasx_xvstelm_b(transmute(a), mem_addr, IMM_S8, IMM4)
50585058
}
50595059

50605060
#[inline(always)]
@@ -5064,7 +5064,7 @@ pub unsafe fn lasx_xvstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m256i, mem_a
50645064
pub unsafe fn lasx_xvstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m256i, mem_addr: *mut i8) {
50655065
static_assert_simm_bits!(IMM_S8, 8);
50665066
static_assert_uimm_bits!(IMM3, 3);
5067-
transmute(__lasx_xvstelm_h(transmute(a), mem_addr, IMM_S8, IMM3))
5067+
__lasx_xvstelm_h(transmute(a), mem_addr, IMM_S8, IMM3)
50685068
}
50695069

50705070
#[inline(always)]
@@ -5074,7 +5074,7 @@ pub unsafe fn lasx_xvstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m256i, mem_a
50745074
pub unsafe fn lasx_xvstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m256i, mem_addr: *mut i8) {
50755075
static_assert_simm_bits!(IMM_S8, 8);
50765076
static_assert_uimm_bits!(IMM2, 2);
5077-
transmute(__lasx_xvstelm_w(transmute(a), mem_addr, IMM_S8, IMM2))
5077+
__lasx_xvstelm_w(transmute(a), mem_addr, IMM_S8, IMM2)
50785078
}
50795079

50805080
#[inline(always)]
@@ -5084,7 +5084,7 @@ pub unsafe fn lasx_xvstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m256i, mem_a
50845084
pub unsafe fn lasx_xvstelm_d<const IMM_S8: i32, const IMM1: u32>(a: m256i, mem_addr: *mut i8) {
50855085
static_assert_simm_bits!(IMM_S8, 8);
50865086
static_assert_uimm_bits!(IMM1, 1);
5087-
transmute(__lasx_xvstelm_d(transmute(a), mem_addr, IMM_S8, IMM1))
5087+
__lasx_xvstelm_d(transmute(a), mem_addr, IMM_S8, IMM1)
50885088
}
50895089

50905090
#[inline(always)]
@@ -5192,7 +5192,7 @@ pub unsafe fn lasx_xvldx(mem_addr: *const i8, b: i64) -> m256i {
51925192
#[target_feature(enable = "lasx")]
51935193
#[unstable(feature = "stdarch_loongarch", issue = "117427")]
51945194
pub unsafe fn lasx_xvstx(a: m256i, mem_addr: *mut i8, b: i64) {
5195-
transmute(__lasx_xvstx(transmute(a), mem_addr, transmute(b)))
5195+
__lasx_xvstx(transmute(a), mem_addr, transmute(b))
51965196
}
51975197

51985198
#[inline(always)]

crates/core_arch/src/loongarch64/lsx/generated.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5052,7 +5052,7 @@ pub fn lsx_vfrintrm_d(a: m128d) -> m128d {
50525052
pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m128i, mem_addr: *mut i8) {
50535053
static_assert_simm_bits!(IMM_S8, 8);
50545054
static_assert_uimm_bits!(IMM4, 4);
5055-
transmute(__lsx_vstelm_b(transmute(a), mem_addr, IMM_S8, IMM4))
5055+
__lsx_vstelm_b(transmute(a), mem_addr, IMM_S8, IMM4)
50565056
}
50575057

50585058
#[inline(always)]
@@ -5062,7 +5062,7 @@ pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m128i, mem_add
50625062
pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m128i, mem_addr: *mut i8) {
50635063
static_assert_simm_bits!(IMM_S8, 8);
50645064
static_assert_uimm_bits!(IMM3, 3);
5065-
transmute(__lsx_vstelm_h(transmute(a), mem_addr, IMM_S8, IMM3))
5065+
__lsx_vstelm_h(transmute(a), mem_addr, IMM_S8, IMM3)
50665066
}
50675067

50685068
#[inline(always)]
@@ -5072,7 +5072,7 @@ pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m128i, mem_add
50725072
pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m128i, mem_addr: *mut i8) {
50735073
static_assert_simm_bits!(IMM_S8, 8);
50745074
static_assert_uimm_bits!(IMM2, 2);
5075-
transmute(__lsx_vstelm_w(transmute(a), mem_addr, IMM_S8, IMM2))
5075+
__lsx_vstelm_w(transmute(a), mem_addr, IMM_S8, IMM2)
50765076
}
50775077

50785078
#[inline(always)]
@@ -5082,7 +5082,7 @@ pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m128i, mem_add
50825082
pub unsafe fn lsx_vstelm_d<const IMM_S8: i32, const IMM1: u32>(a: m128i, mem_addr: *mut i8) {
50835083
static_assert_simm_bits!(IMM_S8, 8);
50845084
static_assert_uimm_bits!(IMM1, 1);
5085-
transmute(__lsx_vstelm_d(transmute(a), mem_addr, IMM_S8, IMM1))
5085+
__lsx_vstelm_d(transmute(a), mem_addr, IMM_S8, IMM1)
50865086
}
50875087

50885088
#[inline(always)]
@@ -6376,7 +6376,7 @@ pub unsafe fn lsx_vld<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
63766376
#[unstable(feature = "stdarch_loongarch", issue = "117427")]
63776377
pub unsafe fn lsx_vst<const IMM_S12: i32>(a: m128i, mem_addr: *mut i8) {
63786378
static_assert_simm_bits!(IMM_S12, 12);
6379-
transmute(__lsx_vst(transmute(a), mem_addr, IMM_S12))
6379+
__lsx_vst(transmute(a), mem_addr, IMM_S12)
63806380
}
63816381

63826382
#[inline(always)]
@@ -6455,7 +6455,7 @@ pub unsafe fn lsx_vldx(mem_addr: *const i8, b: i64) -> m128i {
64556455
#[target_feature(enable = "lsx")]
64566456
#[unstable(feature = "stdarch_loongarch", issue = "117427")]
64576457
pub unsafe fn lsx_vstx(a: m128i, mem_addr: *mut i8, b: i64) {
6458-
transmute(__lsx_vstx(transmute(a), mem_addr, transmute(b)))
6458+
__lsx_vstx(transmute(a), mem_addr, transmute(b))
64596459
}
64606460

64616461
#[inline(always)]

crates/stdarch-gen-loongarch/src/main.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,21 +571,21 @@ fn gen_bind_body(
571571
} else if para_num == 3 && in_t[1] == "CVPOINTER" && in_t[2] == "SI" {
572572
call_params = match asm_fmts[2].as_str() {
573573
"si12" => format!(
574-
"static_assert_simm_bits!(IMM_S12, 12);\n {unsafe_start}transmute(__{current_name}(transmute(a), mem_addr, IMM_S12)){unsafe_end}"
574+
"static_assert_simm_bits!(IMM_S12, 12);\n {unsafe_start}__{current_name}(transmute(a), mem_addr, IMM_S12){unsafe_end}"
575575
),
576576
_ => panic!("unsupported assembly format: {}", asm_fmts[2]),
577577
};
578578
} else if para_num == 3 && in_t[1] == "CVPOINTER" && in_t[2] == "DI" {
579579
call_params = match asm_fmts[2].as_str() {
580580
"rk" => format!(
581-
"{unsafe_start}transmute(__{current_name}(transmute(a), mem_addr, transmute(b))){unsafe_end}"
581+
"{unsafe_start}__{current_name}(transmute(a), mem_addr, transmute(b)){unsafe_end}"
582582
),
583583
_ => panic!("unsupported assembly format: {}", asm_fmts[2]),
584584
};
585585
} else if para_num == 4 {
586586
call_params = match (asm_fmts[2].as_str(), current_name.chars().last().unwrap()) {
587587
("si8", t) => format!(
588-
"static_assert_simm_bits!(IMM_S8, 8);\n static_assert_uimm_bits!(IMM{0}, {0});\n {unsafe_start}transmute(__{current_name}(transmute(a), mem_addr, IMM_S8, IMM{0})){unsafe_end}",
588+
"static_assert_simm_bits!(IMM_S8, 8);\n static_assert_uimm_bits!(IMM{0}, {0});\n {unsafe_start}__{current_name}(transmute(a), mem_addr, IMM_S8, IMM{0}){unsafe_end}",
589589
type_to_imm(t)
590590
),
591591
(_, _) => panic!(

0 commit comments

Comments
 (0)