#include "Int3.cuh"

Int3::Int3(){
}    

Int3::Int3(int _x, int _y, int _z){
	x = _x;
	y = _y;
	z = _z;
}

void Int3::Add(int _x, int _y, int _z){
	x = x + _x;
	y = y + _y;
	z = z + _z;
}

void Int3::Add(Int3 value){
	x = x + value.x;
	y = y + value.y;
	z = z + value.z;
}

void Int3::Substract(int _x, int _y, int _z){
	x = x - _x;
	y = y - _y;
	z = z - _z;
}

void Int3::Substract(Int3 value){
	x = x - value.x;
	y = y - value.y;
	z = z - value.z;
}

void Int3::Multiply(int val){
	x = x*val;
	y = y*val;
	z = z*val;
}

void Int3::printValue(){
	printf("(%d,%d,%d) \n", x, y, z);
}
	.file	"tmpxft_003503cf_00000000-6_Int3.cudafe1.cpp"
	.text
#APP

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB2041:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE2041:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.align 2
	.globl	_ZN4Int3C2Ev
	.type	_ZN4Int3C2Ev, @function
_ZN4Int3C2Ev:
.LFB2028:
	.cfi_startproc
	endbr64
	ret
	.cfi_endproc
.LFE2028:
	.size	_ZN4Int3C2Ev, .-_ZN4Int3C2Ev
	.globl	_ZN4Int3C1Ev
	.set	_ZN4Int3C1Ev,_ZN4Int3C2Ev
	.align 2
	.globl	_ZN4Int3C2Eiii
	.type	_ZN4Int3C2Eiii, @function
_ZN4Int3C2Eiii:
.LFB2031:
	.cfi_startproc
	endbr64
	movl	%esi, (%rdi)
	movl	%edx, 4(%rdi)
	movl	%ecx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2031:
	.size	_ZN4Int3C2Eiii, .-_ZN4Int3C2Eiii
	.globl	_ZN4Int3C1Eiii
	.set	_ZN4Int3C1Eiii,_ZN4Int3C2Eiii
	.align 2
	.globl	_ZN4Int33AddEiii
	.type	_ZN4Int33AddEiii, @function
_ZN4Int33AddEiii:
.LFB2033:
	.cfi_startproc
	endbr64
	addl	%esi, (%rdi)
	addl	%edx, 4(%rdi)
	addl	%ecx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2033:
	.size	_ZN4Int33AddEiii, .-_ZN4Int33AddEiii
	.align 2
	.globl	_ZN4Int33AddES_
	.type	_ZN4Int33AddES_, @function
_ZN4Int33AddES_:
.LFB2034:
	.cfi_startproc
	endbr64
	movq	%rsi, -16(%rsp)
	movl	-12(%rsp), %eax
	addl	%esi, (%rdi)
	addl	%eax, 4(%rdi)
	addl	%edx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2034:
	.size	_ZN4Int33AddES_, .-_ZN4Int33AddES_
	.align 2
	.globl	_ZN4Int39SubstractEiii
	.type	_ZN4Int39SubstractEiii, @function
_ZN4Int39SubstractEiii:
.LFB2035:
	.cfi_startproc
	endbr64
	subl	%esi, (%rdi)
	subl	%edx, 4(%rdi)
	subl	%ecx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2035:
	.size	_ZN4Int39SubstractEiii, .-_ZN4Int39SubstractEiii
	.align 2
	.globl	_ZN4Int39SubstractES_
	.type	_ZN4Int39SubstractES_, @function
_ZN4Int39SubstractES_:
.LFB2036:
	.cfi_startproc
	endbr64
	movq	%rsi, -16(%rsp)
	movl	-12(%rsp), %eax
	subl	%esi, (%rdi)
	subl	%eax, 4(%rdi)
	subl	%edx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2036:
	.size	_ZN4Int39SubstractES_, .-_ZN4Int39SubstractES_
	.align 2
	.globl	_ZN4Int38MultiplyEi
	.type	_ZN4Int38MultiplyEi, @function
_ZN4Int38MultiplyEi:
.LFB2037:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	imull	%esi, %eax
	movl	%eax, (%rdi)
	movl	4(%rdi), %eax
	imull	%esi, %eax
	imull	8(%rdi), %esi
	movl	%eax, 4(%rdi)
	movl	%esi, 8(%rdi)
	ret
	.cfi_endproc
.LFE2037:
	.size	_ZN4Int38MultiplyEi, .-_ZN4Int38MultiplyEi
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"(%d,%d,%d) \n"
	.text
	.align 2
	.globl	_ZN4Int310printValueEv
	.type	_ZN4Int310printValueEv, @function
_ZN4Int310printValueEv:
.LFB2038:
	.cfi_startproc
	endbr64
	movl	4(%rdi), %ecx
	movl	8(%rdi), %r8d
	leaq	.LC0(%rip), %rsi
	xorl	%eax, %eax
	movl	(%rdi), %edx
	movl	$2, %edi
	jmp	__printf_chk@PLT
	.cfi_endproc
.LFE2038:
	.size	_ZN4Int310printValueEv, .-_ZN4Int310printValueEv
	.section	.text.startup,"ax",@progbits
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB2064:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	movq	%rax, %rdi
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rdx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE2064:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#ifndef INT3_CUH
#define INT3_CUH
#include "hip/hip_runtime.h"

#include <stdio.h>

class Int3{
public:
	__host__ __device__ Int3();
	__host__ __device__ Int3(int _x, int _y, int _z);
	__host__ __device__ void Add(int _x, int _y, int _z);
	__host__ __device__ void Add(Int3 value);
	__host__ __device__ void Substract(int _x, int _y, int _z);
	__host__ __device__ void Substract(Int3 value);
	__host__ __device__ void Multiply(int val);
	__host__ __device__ void printValue();
	int x;
	int y;
	int z;
};

#endif


	.text
	.file	"Int3.hip"
	.type	__hip_cuid_,@object             # @__hip_cuid_
	.bss
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               # 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_

	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.type	__hip_cuid_,@object             ; @__hip_cuid_
	.section	.bss,"aw",@nobits
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               ; 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.amdgpu_metadata
---
amdhsa.kernels:  []
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
