search for: tileloadd64

Displaying 11 results from an estimated 11 matches for "tileloadd64".

2020 Aug 14
6
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 14
3
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 19
3
Intel AMX programming model discussion.
...We don't assume the shape of each physical register be 16x16, it is defined by user. For variable shape, I mean the shape is known in runtime and in compile time the shape is unknown. Take below code as an example, the %row and %col are variable instead of constant. Compiler recognizes llvm.x86.tileloadd64 and deduce the shape of %0 is %row x %col. %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) From: Hal Finkel <hfinkel at anl.gov> Sent: Wednesday, August 19, 2020 4:58 PM To: Luo, Yua...
2020 Aug 18
2
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 19
2
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 19
2
Intel AMX programming model discussion.
...We don't assume the shape of each physical register be 16x16, it is defined by user. For variable shape, I mean the shape is known in runtime and in compile time the shape is unknown. Take below code as an example, the %row and %col are variable instead of constant. Compiler recognizes llvm.x86.tileloadd64 and deduce the shape of %0 is %row x %col. %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) When the tile shape is unknown at compile time, how do you plan to do the register allocation o...
2020 Aug 19
3
Intel AMX programming model discussion.
...We don't assume the shape of each physical register be 16x16, it is defined by user. For variable shape, I mean the shape is known in runtime and in compile time the shape is unknown. Take below code as an example, the %row and %col are variable instead of constant. Compiler recognizes llvm.x86.tileloadd64 and deduce the shape of %0 is %row x %col. %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) When the tile shape is unknown at compile time, how do you plan to do the register allocation o...
2020 Aug 15
2
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 20
1
Intel AMX programming model discussion.
...is defined by user. For variable shape, I mean > the shape is known in runtime and in compile time the > shape is unknown. Take below code as an example, the %row > and %col are variable instead of constant. Compiler > recognizes llvm.x86.tileloadd64 and deduce the shape of %0 > is %row x %col. > > %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, > i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x > i8]* @buf, i64 0, i64 0), i64 32) > > When th...
2020 Aug 14
2
Intel AMX programming model discussion.
...d_addr #2 { 13 entry: 14 %tobool = icmp eq i32 %cond, 0 15 %sext = shl i16 %col, 8 16 %conv.i31 = ashr exact i16 %sext, 8 17 br i1 %tobool, label %if.else, label %if.then 18 19 if.then: ; preds = %entry 20 %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 21 %1 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %conv.i31, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) #3 22 %2 = tail ca...
2020 Aug 21
2
Intel AMX programming model discussion.
...We don't assume the shape of each physical register be 16x16, it is defined by user. For variable shape, I mean the shape is known in runtime and in compile time the shape is unknown. Take below code as an example, the %row and %col are variable instead of constant. Compiler recognizes llvm.x86.tileloadd64 and deduce the shape of %0 is %row x %col. %0 = tail call <256 x i32> @llvm.x86.tileloadd64(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32) When the tile shape is unknown at compile time, how do you plan to do the register allocation o...